state参数如何阻止CSRF攻击

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了state参数如何阻止CSRF攻击相关的知识,希望对你有一定的参考价值。

OAuth 2.0 page的页面中说如下:state(推荐)应用程序使用state参数来存储特定于请求的数据和/或防止CSRF攻击。授权服务器必须将未修改的状态值返回给应用程序。

但我不清楚国家如何防止CSRF攻击。对于我的想法,如果有人抓住了pakage,那肯定是请求查询参数也已知,所以他可以再次发回它以淡化这个响应。

答案

常见的方法是将state存储在用户的会话中(如果存在)或将其设置在安全的httponly cookie中(如果应用程序是无状态的)。然后在你的回调函数中你比较那些(来自查询的state和来自session / cookie的qazxswpoi)。

如果说“package”你只是指HTTP流量(中间人攻击),那么如果你使用HTTPS协议 - 什么都不能被劫持。这就是强烈建议仅通过HTTPS使用OAuth的原因。

以上是关于state参数如何阻止CSRF攻击的主要内容,如果未能解决你的问题,请参考以下文章

为啥预检 CORS 不阻止 CSRF 攻击?

CSRF攻击及防范

44. CSRF 攻击与防御

如何在复制/粘贴web.config XML节点后阻止自动回车(换行)?

六十六:CSRF攻击与防御之CSRF防御之ajax防御和ajax封装

Django CSRF认证解决方法