我正在尝试为我的网站进程添加更多安全性,以便试图绕过登录页面的外部用户将遇到一个 !isset 来检查是否设置了登录 $_SESSION 变量,如果没有设置,则破坏会话和重定向回主登录页面。
我的问题是 !isset 函数返回一个 FALSE 值,因此会破坏会话并重定向,但是当我使用 print_r 测试该页面上的变量时,它们会被识别和存储。
我的代码(我已经清除了变量):
<?php
session_start();
if(!isset($_SESSION['xxx'], $_SESSION['xxx']))
{ echo "Login successfull"; }
else
{ session_destroy();
header("location:main_login.php");
}
?>
如果有人能解释我做错了什么(甚至不一定在纸上给我答案,我喜欢理解和学习,因为我是菜鸟),那将是惊人的。我试着环顾四周,但真的找不到我要找的东西。提前谢谢了!