简而言之:这是一个关于提高会话安全性的问题,以防止会话固定/劫持
我有一个用户注册表单,登录和文章发布表单。 现在,当用户注册,登录或发布某些内容时,总是感谢您对这三个页面的不同页面。更具体地说'thankyou.php'
问题是用户可以通过输入网址'site.com/thanks.php'来访问静态感谢页面
我不希望这种情况发生,我希望这些页面仅在特定任务被仲裁时显示。
所以,我考虑过制作sql查询以查看用户是否有过去5秒的帖子并显示感谢页面,或显示404但是,似乎没有必要创建一个只有一个以上的查询。而且,既然我认为PHP很灵活,如果你们给我一个想法,我很可能会在途中学到新东西,如何实现这一目标。
答案 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页面。