我创建了csrf_token并将其存储在会话变量中。而表单提交检查了带有会话变量的post变量。它可以在HTTPS中完美运行,但不能在HTTP 隐身窗口中使用。
我只是想知道这个问题,这是因为会话值在HTTP请求中每次都在变化。
给我建议解决这个问题。谢谢!
if (! isset($_SESSION['csrf_token'])) {
$_SESSION['csrf_token'] = md5(uniqid());
}
if(isset($_POST['token']))
{
if (($_POST['token'] === $_SESSION['csrf_token'])) {
echo "match";
}
else{
echo "mismatch";
}
}