我正在尝试在我的php网站上决定会话管理的安全级别。在每个页面的顶部是我运行的php标签
if (!isset($_SESSION["user"])) {header('Location: login.php');}
用户会话是在登录时创建的,你们认为这是否足够安全?整个站点使用SSL运行。
答案 0 :(得分:2)
是的,这将有效。为了减少错误,请将该代码段放在文件中并将其包含在每个页面的顶部。这样你就可以编辑一个地方来改变逻辑。
此外,根据RFC规范,您的Location标头应包含以https开头的整个URL:它可能仍然适用于某些浏览器,但不应该依赖它。
答案 1 :(得分:2)
嗯,保持安全有100个不同的主题......但就你想要实现的目标而言,是的,我认为这很好
我会添加一些额外的验证来检查$ _SESSION ['user']肯定是一个正确的用户,并尝试比较会话用户的IP地址,USER AGENT和其他东西来检测Session Hi-Jacking
你也应该退出;标题之后(“位置:X”):
header("Location: xyz.php");
exit;
答案 2 :(得分:0)
我认为当您的用户想要登录您的网站时,最好创建一个随机令牌字符串。然后在之前代码旁边的每个页面中进行检查。我使用$_SERVER['REMOTE_ADDR']
,$_SERVER['HTTP_USER_AGENT']
和随机字符串来制作它。
答案 3 :(得分:0)
好吧,每次加载至少需要一次验证用户,否则你只是检查会话是否存在。