我刚刚了解了CSRF预防的细节。在我们的应用程序中,所有“写入”请求都是使用XHR完成的。在整个页面中实际上没有提交单个表单,一切都是通过XHR完成的。
对于这种情况,维基百科建议Cookie-to-Header Token。在那里,一些随机值在登录期间(或在其他某个时间点)存储在cookie中。在发出XHR请求时,会将此值复制到自定义http-header(例如“X-csrf-token =”),然后由服务器检查。
现在我想知道,如果在这种情况下实际上需要随机值。我认为仅仅设置一个自定义标题就足够了“X-anti-csrf = true”。似乎比拖动随机值更稳定。但这会打开任何安全问题吗?
答案 0 :(得分:1)
这取决于您想要做出多少风险假设。
如果你相信所有这一点,肯定会有一个固定的自定义标题。 如果删除任何假设,那么您的方法将失败。
如果你无法猜测标题,那么你就不需要做出这些假设。您仍然依赖于这样一种假设,即该标题的价值不会被第三方拦截和复制(其中包含TLS)。