PHP会话和安全性

时间:2012-01-11 07:17:52

标签: php

我正在尝试在我的php网站上决定会话管理的安全级别。在每个页面的顶部是我运行的php标签

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

用户会话是在登录时创建的,你们认为这是否足够安全?整个站点使用SSL运行。

4 个答案:

答案 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)

好吧,每次加载至少需要一次验证用户,否则你只是检查会话是否存在。