使用backbone和node.js的CSRF防御

时间:2012-04-30 15:38:00

标签: node.js backbone.js csrf

我正在使用backbone和node.js创建一个网站,并且不认为默认情况下有任何针对CSRF的保护。在使用带有node.js的骨干网时,是否存在针对CSRF进行投影的标准方法? 感谢

3 个答案:

答案 0 :(得分:4)

您可以简单地确保请求的X-Requested-By标头的值为XMLHTTPRequest。 AJAX请求具有跨域限制,因此如果该标头存在,则不是例如恶意网站上隐藏的表格。

答案 1 :(得分:2)

我不知道node.js + backbone的具体内容,但您可以使用http://www.senchalabs.org/connect/middleware-csrf.html(假设您正在使用express或者connect-compatible)。您需要在html中的某处输出令牌,就像元标记一样。然后,您可以修改主干同步方法以提取该标记并将其传递给表示通过标题,查询或表单。

答案 2 :(得分:1)

如果Allow-Origin标头设置为允许的内容(例如,Allow-Origin:*X-Requested-By,则不会阻止请求伪造。在另一台主机上运行的任何javascript都可以制作仍然启用请求伪造的请求。