【发布时间】:2018-01-30 16:42:50
【问题描述】:
我为两个客户端创建了一个 PHP 页面,相同的数据相同的所有内容,它们仅由它们在服务器和 MySQL 表中的文件路径分隔。
在这种情况下,我有一个welcome.php 文件,所有页面都需要该文件来了解是否已经存在活动的登录会话,如果不存在,则将用户重定向到 login.php 页面。
这是我在 login.php 中的代码:
<?php
// Initialize the session
// This sends a persistent cookie that lasts a day.
session_start([
'cookie_lifetime' => 86400,
]);
// If session variable is not set it will redirect to login page
if(!isset($_SESSION['username']) || empty($_SESSION['username'])){
header("location: /JB104/login.php");
exit;
}
?>
此代码可以正常工作,因为它确认是否存在登录会话并向用户显示其请求的页面,如果不存在,则将用户重定向到登录页面。
问题来了:
我刚刚观察到,如果我在一个客户端的页面中,假设客户端 A 具有此路径:xxxxx.com/AAA/home.php,我更改为假设 xxxxx.com/BBB/home.php ,该页面不控制登录参数,它会在首次登录时切换到具有初始凭据的新页面。
如何在这两个登录凭据之间创建验证,以便用户 AAA 无法访问用户 BBB,方法是先登录 xxxxx.com/AAA/home.php,然后将 url 更改为 xxxxx.com/BBB/home。 php?
每个用户的登录凭据也存在不同的表。
【问题讨论】:
-
您的问题标题谈到了“java 页面”。在您的问题中的其他任何地方都没有提到 Java。这是什么意思?
标签: php authentication session