【问题标题】:how to verify username and password for java page [duplicate]如何验证java页面的用户名和密码[重复]
【发布时间】: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


【解决方案1】:

您需要检查会话的用户名,然后相应地重定向,在您的用户的 php 文件中,它呈现每个用户的 home.php,只需检查请求路径或获取正在访问哪个页面的用户,然后尝试使用会话变量中的用户名进行交叉检查,如果失败,则退出或重定向到另一个正确的页面 您也可以从登录页面重新定向,只是检查用户名还不够,对您的 $_SESSION['username'] 进行处理并重定向或阻止访问比较它

【讨论】:

  • 谢谢马图尔,但请你能给我一些指导愚蠢的来,所以至少我知道如何结合验证。再次感谢
  • 您需要通过检查会话的设置用户名来阻止访问,请查看 this 如果这有帮助,请点赞,谢谢
【解决方案2】:

可能您的问题与会话识别有关。可能您的应用程序不会区分不同项目之间的会话。

我在Yii2 中遇到了类似的问题,原因是项目配置为相同的会话名称,即它们具有相同的会话名称值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多