我们看到一些生成422错误的javascript POST请求,并提供有关CSRF保护的警告.我很确定CSRF令牌存在,但是陈旧.我正试图找到最好的方法.
如果我理解正确,并且根据OWASP CSRF Cheat Sheet,只要CORS未在同一端点上打开,XHR请求应该是安全的.也就是说,恶意站点无法在没有javascript的情况下使用XHR头创建请求.使用javascript,请求应该被阻止,因为它是跨域的.
唯一的资源I found有一个相当容易混淆的例子,其中json禁用了CSRF保护.我无法确定是建议这样做,还是避免它.
因此,在未启用CORS的rails上关闭对XHR / json请求的CSRF保护是否安全/不安全?
解决方法
以下是文档更改I suggested到rails的片段:
It is generally safe to exclude XHR requests from CSRF protection
(like the code snippet above does),because XHR requests can only be made from
the same origin. Note however that any cross-origin third party domain
allowed via 07001
will also be able to create XHR requests. Be sure to check your
CORS whitelist before disabling forgery protection for XHR.
请注意,我还没有收到rails团队关于此的任何反馈.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。