当前位置: 代码迷 >> Web开发 >> 关于CSRF(XSRF)的有关问题
  详细解决方案

关于CSRF(XSRF)的有关问题

热度:126   发布时间:2012-10-27 10:42:26.0
关于CSRF(XSRF)的问题
目前防范CSRF的最有效途径就是在表单中加入随机数:
第一步:
<?php
    //构造加密的Cookie信息
    $value = “DefenseSCRF”;
    setcookie(”cookie”, $value, time()+3600);
?>

第二部:
在表单里增加Hash值,以认证这确实是用户发送的请求。
<?php
   $hash = md5($_COOKIE['cookie']);
?>
<form method=”POST” action=”transfer.php”>
   <input type=”text” name=”toBankId”>
   <input type=”text” name=”money”>
   <input type=”hidden” name=”hash” value=”<?=$hash;?>”>
   <input type=”submit” name=”submit” value=”Submit”>
</form>

具体可以参见这篇文章:http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

但我认为这种防范方式毫无意义:因为攻击者可以先访问表单页面,就可以获得input表单里面的$hash值。
不知道为什么这种防范方式都达到了大家的认同?

------解决方案--------------------
仔细看看那个介绍
攻击者没有访问表单
只是 模拟和直接post表单
  相关解决方案