您好,欢迎访问一九零五行业门户网

一个重大困惑难题,怎么有效防止CSRF攻击

一个重大困惑难题,如何有效防止csrf攻击
网上有种方法是使用
$_server['http_referer']
但是有文章又指出
referer可以伪造的
例如
我试了一下,貌似用header发送在控制台台里看到referer是变化了
但是$_server['http_referer']是空的,说明似乎没问题
那到底这个参数行不行呢?能不能防止呢?
------解决方案--------------------
csrf通过伪装来自受信任用户的请求来利用受信任的网站
那么用 $_server['http_referer'] 显然是不可以的,因为这是可伪造的(你也是知道的)
对于表单,你可以放置一个即时发放的随机串(token)或验证码
对于普通页,你可以通过 ajax 获取一个通行字(因为 ajax 是不可跨域的,且模拟 js 行为技术难度较大)
你也可以通过页面中后期加载的对象(比如图片、js 文件)来传递附加的 cookie 变量
被动防御时,可过滤掉页面中非已知的连接
------解决方案--------------------
你百度 curl模拟登陆 很多相关的资料. php实战qq群:  33918040
其它类似信息

推荐信息