什么是 CSRF 攻击?
CSRF,跨站请求伪造(英文全称是 Cross-site request forgery),是一种挟持用户在当前已登录的 Web 应用程序上执行非本意的操作的攻击方法。
CSRF 是如何攻击的?
1. 用户登陆银行,没有退出,浏览器包含了 用户 在银行的身份认证信息。
2. 攻击者将伪造的转账请求,包含在在帖子
3. 用户在银行网站保持登陆的情况下,浏览帖子
4. 将伪造的转账请求连同身份认证信息,发送到银行网站
5. 银行网站看到身份认证信息,以为就是 用户的合法操作,最后造成用户资金损失。
怎么应对 CSRF 攻击
检查 Referer 字段
HTTP头中的Referer字段记录了该 HTTP 请求的来源地址。在通常情况下,访问一个安全受限页面的请求来自于同一个网站,而如果黑客要对其实施 CSRF攻击,他一般只能在他自己的网站构造请求。因此,可以通过验证Referer值来防御CSRF 攻击。
添加校验 token
以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有token或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。
敏感操作多重校验
对一些敏感的操作,除了需要校验用户的认证信息,还可以通过邮箱确认、验证码确认这样的方式多重校验。
标签:请求,攻击,避免,用户,token,CSRF,校验 From: https://blog.51cto.com/u_11344924/8173416