因此,如果创建了登录/注册系统,那么当用户登录时,用户将被重定向到另一个仅限成员的页面(member.php),我会将登录信息存储在用户的会话中。 / p>
当用户导航到成员页面时,在允许他查看内容之前,我想确保用户名/密码有效,并且用户有效登录。我如何确保用户当他/她到达会员页面时有效登录,对我来说似乎使用:
if (!isset($_SESSION['username']))
{
die("You aren't allowed to access this page");
}
会起作用,但是我想确保它是安全的,对我来说,它似乎不够安全(因为如果有某种方式欺骗会话,他们所要做的就是包括任何一种文本作为用户名。)
我真的不知道,那么如何检查用户是否应该访问该页面?
答案 0 :(得分:1)
会话变量存储在您的服务器上,而不是像cookie一样存储在用户计算机上。因此,用户无法修改$_SESSION['username']
。您必须真正对会话保持警惕的是会话劫持(用户获取另一个登录用户的会话ID,并使用它作为该用户构成)
答案 1 :(得分:0)
如果会话ID cookie知道有效值,而不是存储在服务器上的会话数据本身,则可以欺骗会话ID cookie。
因此,他们可能不只是用某个用户名“发送给你”会话数据。
如果他们可以访问 登录的人的浏览器,他们可能会窃取他们的SESSID( 存储在客户端上),但是-IP会话可以有所缓解。
答案 2 :(得分:-1)
使用salt加密密码cookie / session var,或者不时地对db进行检查。