-1

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

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

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

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

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

4

2 回答 2

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 中设置值。

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

//也喜欢别人

于 2012-09-03T13:45:22.367 回答
1

您可以使用 $_SERVER['HTTP_REFERER'] 限制页面(在此处输入链接描述)从他们来到thankyou.php 页面查看。

于 2012-09-03T13:46:12.810 回答