【发布时间】:2015-03-25 16:54:35
【问题描述】:
我刚刚了解了 CSRF 预防的细节。在我们的应用程序中,所有“写入”请求都是使用 XHR 完成的。整个页面实际上并没有提交一个表单,一切都是通过 XHR 完成的。
对于这种情况,维基百科建议Cookie-to-Header Token。在那里,一些随机值在登录期间(或在其他某个时间点)存储在 cookie 中。在发出 XHR 请求时,该值会被复制到自定义 http-header(例如“X-csrf-token=”),然后由服务器检查。
现在我想知道,在这种情况下,随机值是否真的必要。我认为只设置一个像“X-anti-csrf = true”这样的自定义标题就足够了。似乎比拖动随机值稳定得多。但这会引发任何安全问题吗?
【问题讨论】:
-
但是攻击者可以连接到您的网站以获取非随机标头并将其重用于恶意请求。
标签: javascript ajax cookies xmlhttprequest csrf