我创建了一个登录表单,在成功登录后将其重定向到另一个(成员区域页面)。
现在您知道会员区域的链接是可见的,因此,如果有人在浏览器中键入此链接,则可以轻松访问。我做的是防止它是在成功登录会话后分配用户名,之后我将php
小代码放在我的主HTML
<body>
<?php
session_start();
if(isset($_SESSION['username']))
{
echo 'welcome: '. $_SESSION['username'];
}
else{
header( 'Location: index.html');
}
?>
</body>
基本上它检查,如果会话中有username
,如果是,我让用户进入,否则我将他重定向到索引页。
我的代码足够安全吗?黑客可以在没有任何授权的情况下分配会话值并登录吗?我知道这很简单,但我是php的新手,所以我想知道,如果我走的是正确的道路。
答案 0 :(得分:6)
黑客可以分配会话值吗
不直接。会话数据保留在服务器端,因此只有您的代码和服务器上运行的其他代码才能访问设置会话变量。设置会话的cookie不包含键/值,它们仅包含服务器从磁盘加载会话数据的ID。当然,如果你的服务器上的任何代码或其他代码都有安全漏洞,那么黑客可以做任何他们想做的事。
我做的是防止它是在成功登录会话后分配用户名,之后我将下面的php小代码放在我的主HTML中
客户不必遵循重定向。目前还不清楚你的真实剧本是什么样的。请记住,如果您不希望客户看到某些内容,请不要从您的服务器发送。
此外,在有任何输出后,您不应该设置标题。标题始终在内容之前发送。如果这对你有用,那就是因为你很幸运有一个缓冲区。不要将您的身份验证逻辑与HTML演示文稿混合在一起。
答案 1 :(得分:0)
只有在服务器上运行的脚本才能访问会话存储。所以,这是一个关于脚本安全性和健壮性的问题......