CSRF攻击与Yii2

CSRF攻击: 跨站请求伪造

攻击原理:

攻击者引导受害者访问其指定的URL, 以受害者的身份名义(cookie)发送恶意请求, 执行某些能改变数据的操作.

攻击场景举例:

受害者登录了a.com, 浏览器保存a.com对应的cookie, 此时a.com认为该浏览器是可信任的.
攻击者给受害者发邮件, 里面包含图片<img src="http://a.com/转账/100" />, 受害者查看图片, 此时浏览器会携带上a.comcookie去访问转账的方法, 完成攻击.

防御:

主要使用token:

原理是服务器给客户端分发token, 客户端请求时必须带上这个token, 没带的就视为攻击.
具体实现

  1. 可以在渲染页面时, 自动给表单加上隐藏token字段, 从这个表单来的请求都会携带该token;
  2. token的分发可以通过服务端向客户端设置cookie来实现

Yii2和CSRF

基于CSRF的攻击特点, Yii2只对除GETHEADOPTIONS之外的非安全请求进行验证.
日常开发中, GET请求应该是只读的, 不应该改动数据本身.

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇