我们正在努力保护我们的网站 - 在提交表单时,是否有人可以绕过我们网站对cookie的要求? 我们正试图阻止跨站点攻击。 感谢
答案 0 :(得分:1)
我认为您的意思是跨站点请求伪造(CSRF)。使用表单中的特殊CSRF令牌可以轻松防止这种情况。
每次表单显示时,令牌都应该不同。
<?php
$token = md5(time()); /* a simple attempt to generate a token */
$_SESSION['csrf_token'] = $token;
?>
将其包含在您的表单中。
<form>
<input type="hidden" name="csrf_token" value="<?php echo $token ?>">
...
</form>
并在表单提交时在服务器上验证它。
<?php
$storedToken = $_SESSION['csrf_token'];
unset($_SESSION['csrf_token']);
if ($_POST['csrf_token'] == $storedToken) { ... }
?>
确保令牌只能使用一次。
使用SSL 来提高安全性(如果尚未安装)。