首页 服务端 安全 正文

csrf攻击及防御方法

long 2020-05-06 22:42 安全 人气241

csrf攻击的主要就是冒用用户的身份执行危险操作。

原理就是用户登录的网站A,然后在登录状态下,在同一浏览器,又访问了危险网站B(携带了A的cookie),B网站里执行了访问A网站的链接。就是相当于冒用了用户的身份执行了A网站的某些操作。

防御手段,主要就是在页面里增加随机的token。然后每个敏感操作使用post请求,并且post请求参数里都带上token,服务端验证这个token。

yii里默认就是检查csrf的。

使用方法是,在前台页面里加上_csrf参数。例如在form里增加一个隐藏的input:

 <input type="hidden" name="_csrf" id='csrf' value="<?= \Yii::$app->request->csrfToken ?>">

这样表单post的时候,就带上csrf参数了。后台controller里自动检查

2021/7/21还可以验证请求的Referer,如果不是自己网站的链接,就禁止请求。

评论
  • 消灭零回复
公众号
小程序
网站统计
  • 文章总数:297
  • 总点击量:55427
  • 评论总数:27
  • 网站运行:548 天