绕过表单提交的cookie请求

时间:2013-04-26 09:51:31

标签: javascript html

我们正在努力保护我们的网站 - 在提交表单时,是否有人可以绕过我们网站对cookie的要求? 我们正试图阻止跨站点攻击。 感谢

1 个答案:

答案 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 来提高安全性(如果尚未安装)。