更严格的会话控制方法

时间:2012-09-03 13:38:52

标签: php session

简而言之:这是一个关于提高会话安全性的问题,以防止会话固定/劫持

我有一个用户注册表单,登录和文章发布表单。 现在,当用户注册,登录或发布某些内容时,总是感谢您对这三个页面的不同页面。更具体地说'thankyou.php'

问题是用户可以通过输入网址'site.com/thanks.php'来访问静态感谢页面

我不希望这种情况发生,我希望这些页面仅在特定任务被仲裁时显示。

所以,我考虑过制作sql查询以查看用户是否有过去5秒的帖子并显示感谢页面,或显示404但是,似乎没有必要创建一个只有一个以上的查询。而且,既然我认为PHP很灵活,如果你们给我一个想法,我很可能会在途中学到新东西,如何实现这一目标。

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式结束会议来实现这一目标:

if($_SESSION['registration']=="registration")
{
echo "Thank you for registering";


 unset($_SESSION['registration']); 

}
elsif($_SESSION['login']=="login")
{
echo "Thank you for login";
unset($_SESSION['login']); 

}
elseif($_SESSION['post']=="post")
{
echo "Thank you for Post";
unset($_SESSION['post']); 
}
else
{
echo "session is not set,something is wrong";
}

所以在html页面上的会话中设置值,如。

$_SESSION['login']="login";

//也喜欢其他人

答案 1 :(得分:1)

您可以使用$ _SERVER ['HTTP_REFERER'](enter link description here)查看页面来限制他们来到thankyou.php页面。