我使用的骨干和node.js中创建一个网站,不认为在默认情况下没有针对CSRF任何保护。 有没有使用支柱与node.js的时候对CSRF项目的标准方式? 谢谢
Answer 1:
你可以简单地确保请求有X-Requested-By
标头值XMLHTTPRequest
。 AJAX请求有跨域限制,所以如果这个头是目前它并没有如对恶意网站隐藏的表单。
Answer 2:
我不知道具体的node.js的骨干+什么,但你可以使用http://www.senchalabs.org/connect/middleware-csrf.html (假设你使用明示或东西连接兼容)。 你会在某个地方需要输出令牌在你的HTML,像作为元标记。 然后,你可以修改的骨干同步方法来拉动该令牌,并通过它通过头部,查询或形式来表达。
Answer 3:
如果Allow-Origin
标题设置为允许的东西(例如, Allow-Origin:*
) X-Requested-By
不会阻止请求伪造。 另一台主机上运行的任何JavaScript就能够工艺上要求仍然能够请求伪造。
文章来源: CSRF defense using backbone and node.js