为了账号安全,请及时绑定邮箱和手机立即绑定

CSRF Token 的设计是否有其必要性?

CSRF Token 的设计是否有其必要性?

DIEA 2019-04-13 08:46:29
CSRFToken确实会对网站安全起到一些积极作用,但我想讨论CSRFToken对于一个网站是否是必要的。例如如果已经要求所有非幂等的请求都用POST方法提交,是否CSRFToken就不必要了呢?CSRF和CORS的关系又是怎样的呢?感谢大家的回答,我已经理解了这个问题,我也惊讶于我对这个问题的理解一直以来都是错误的。但我觉得对于我的疑问,大家的回答都不是很恰当,因此我自己来回答一下这个问题。我之前错误的理解是「form和XHR发起的POST请求都受到CORS的限制,因此只要非幂等请求不是GET,就可以防范CSRF」,而我今天才发现,原来form发起的POST请求并不受到CORS的限制,因此可以任意地使用其他域的Cookie向其他域发送POST请求,形成CSRF攻击。我还针对这个问题请教了@c4605,他对防御CSRF提出了两种解决方案:在每个表单中包含一个CSRFToken.不将用于认证的Token或SeesionID储存在Cookie中,而是将其储存在localStorage中,在每次发起请求时手动将Token添加到请求中。其中我比较偏好第二种解决方案,似乎各位并没有提到,因此在这里与大家分享一下。补充一份资料:http://www.jongleberry.com/understanding-csrf.html
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 464 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号