【发布时间】:2013-08-10 02:20:45
【问题描述】:
Backbone.js 在后台处理向服务器发布数据,因此没有简单的方法可以在负载中插入 CSRF 令牌。在这种情况下,如何保护我的网站免受 CSRF 的影响?
在这个 SO 答案中:https://stackoverflow.com/a/10386412/954376,建议验证 x-Requested-By 标头是否为 XMLHTTPRequest。这足以阻止所有 CSRF 尝试吗?
在 Django 文档中,建议在每个 AJAX 请求的另一个自定义标头中添加 CSRF 令牌:https://docs.djangoproject.com/en/1.5/ref/contrib/csrf/#ajax。有必要吗?
我了解如果攻击使用隐藏形式,我只要确保请求来自 XMLHTTPRequest 就很安全。但是有没有什么可以伪造header的CSRF攻击技巧呢?
【问题讨论】:
-
“我只是确保请求来自 XMLHTTPRequest 是安全的”——你无法确保。
标签: javascript backbone.js web csrf