小草根

Discuz!防止CSRF跨站讲解

作者:小草根   发布时间:2014-12-01 15:42   回复数:0   浏览数:349
小草根
3490小草根管理员
2014-12-01 15:42:10
3490 2014-12-01 15:42:10
话题: 防止 跨站 讲解
CSRF(Cross-site request forgery跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

接下来就讲解下Discuz!的处理方法
在表单内部添加一个隐藏域
<input name=\"formhash\" type=\"hidden\" value=\"{FORMHASH}\" />


Discuz!自带用formhash检验

然后在PHP文件内用submitcheck()进行检验,如:
submitcheck('submit');

其中的submit就是表单中的按钮的名称
返回的值为布尔值
游客
登录后才可以回帖,登录 或者 注册