gpt4 book ai didi

php - 如何测试受限页面? (PHP)

转载 作者:行者123 更新时间:2023-11-28 23:44:59 26 4
gpt4 key购买 nike

我在测试受限页面是否真正发挥作用时遇到了问题。例如,用户需要先登录才能访问页面。在这个页面上,我在顶部有这个:

if(isset($_SESSION['userid'])!="")
{
header("Location: login.php");
}

我认为这应该做的是,如果用户没有登录,它将把他们重定向到 login.php,他们可以在那里登录。但是,我不知道这是否有效。当我尝试在浏览器中对其进行测试时,我可以访问该页面。我不知道这是因为我仍在登录状态,还是只是不起作用。我该如何正确测试它?

最佳答案

我假设您已经开始了您的 session ,但如果没有,您需要每个。单例的。页面。 这需要 session 。

session_start();

成功了。

您的比较不正确。通常的流程是运行 isset() || empty() 检查,而不是检查 isset() 是否不等于 "":

if(!isset($_SESSION['userid'])) { ...

因为 isset() 返回 bool 值 (true/false) 而不是字符串 ( "")

最后,您的脚本将继续执行,即使在重定向时也是如此。如果用户未通过身份验证,则需要结束脚本的运行:

session_start(); // start session

if(!isset($_SESSION['userid']) || empty($_SESSION['userid'])) {
die(header("Location: login.php")); // ends script execution.
}

关于php - 如何测试受限页面? (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33748614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com