CSRF攻击及防御措施

CSRF,跨站请求伪造,简单来说是盗用用户的身份,以用户的身份发送恶意请求,比如以用户的身份进行银行转账等。

原理:用户登录信任网站A,并生成本地cookie,在没有登出A的情况下,访问了危险网站B,B网站中要求访问第三方站点,发出request请求,浏览器带着A产生的cookie访问。

防御措施:

a.在请求地址中添加token并验证

在请求中放入攻击者不能伪造的信息,并且该信息不在cookie中,开发者可以在http请求中以参数的形式加入一个随机产生的token,并且在服务器建立一个拦截器来验证这个token。如果请求中没有token或者token中内容不正确的话,表示可能是攻击者发动的攻击。

b.验证HTTP Referer字段

http头中有一个referer,记录http请求的来源地址,访问一个安全受限的页面的请求必须来自同一个网站。当用户要提交一个请求时,请求的referer值需是提交按钮(触发请求)所在的页面的URL。

c.在http头中自定义属性并验证

通过XHR这个类,一次性给所有该类请求加上csrftoken这个http头属性,并且把token值放入其中。

d.验证码

每次用户提交都在表单上填写一个图片上的随机字符串作为验证码。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值