返回列表 发新帖
查看: 351|回复: 0

[Discuz!二次开发] Discuz!防止CSRF跨站讲解

[复制链接]

6671

热度

1万

元宝

262

贡献

管理员

DZ专员

发表于 2014-12-1 15:42:10 | 显示全部楼层 |阅读模式
CSRF(Cross-site request forgery跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

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



Discuz!自带用formhash检验

然后在PHP文件内用submitcheck()进行检验,如:
  1. submitcheck('submit');
复制代码


其中的submit就是表单中的按钮的名称
返回的值为布尔值
返回列表 发新帖
 懒得打字嘛,点击右侧快捷回复【最新发布】   【赞助草根吧享更多权益】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

收藏帖子 返回列表 搜索

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

小黑屋|手机版|草根吧