【发布时间】:2012-05-10 07:28:30
【问题描述】:
我正在使用骨干网和 node.js 创建一个网站,并且不认为默认情况下有任何针对 CSRF 的保护。将骨干与 node.js 一起使用时,是否有针对 CSRF 进行投影的标准方法? 谢谢
【问题讨论】:
标签: node.js backbone.js csrf
我正在使用骨干网和 node.js 创建一个网站,并且不认为默认情况下有任何针对 CSRF 的保护。将骨干与 node.js 一起使用时,是否有针对 CSRF 进行投影的标准方法? 谢谢
【问题讨论】:
标签: node.js backbone.js csrf
您可以简单地确保请求具有 X-Requested-By 标头和值 XMLHTTPRequest。 AJAX 请求具有跨域限制,因此如果该标头存在,则它不是例如恶意网站上的隐藏表单。
【讨论】:
我不知道任何特定于 node.js + 骨干网的东西,但您可以使用 http://www.senchalabs.org/connect/middleware-csrf.html(假设您使用的是 express 或与连接兼容的东西)。您需要在 html 中的某处输出令牌,例如作为元标记。然后,您可以修改主干同步方法以提取该令牌并通过标头、查询或表单将其传递给 express。
【讨论】:
如果 Allow-Origin 标头设置为允许的(例如,Allow-Origin:*)X-Requested-By 将不会阻止请求伪造。在另一台主机上运行的任何 javascript 都将能够制作仍然启用请求伪造的请求。
【讨论】: