【发布时间】:2013-03-08 03:25:35
【问题描述】:
我正在开发一个 nodejs 服务器,它将与客户端移动应用程序交互。我在服务器上遇到了一些称为 XSS 和 XHR 的攻击。我遇到了一个名为 node-validator 的模块,它对于处理和验证输入很有用.我需要知道 XSS 和 XHR 攻击是否具有相同的效果,以及该模块是否对两者都有用。任何关于此的想法都会非常有帮助。
【问题讨论】:
标签: node.js xmlhttprequest xss
我正在开发一个 nodejs 服务器,它将与客户端移动应用程序交互。我在服务器上遇到了一些称为 XSS 和 XHR 的攻击。我遇到了一个名为 node-validator 的模块,它对于处理和验证输入很有用.我需要知道 XSS 和 XHR 攻击是否具有相同的效果,以及该模块是否对两者都有用。任何关于此的想法都会非常有帮助。
【问题讨论】:
标签: node.js xmlhttprequest xss
XSS 攻击也称为跨站点脚本攻击。当攻击者利用未经过滤的输入字段将 javascript 注入应用程序时。一个常见的例子是,如果攻击者设法将 javascript 注入博客文章 cmets。然后(如果清理不当)每次有人查看评论时都会执行。可以阅读有关here 的此类攻击的示例。
XHR 攻击只是 XSS 攻击的扩展,其中注入的脚本使 AJAX 回调到域服务器。
实际上,防止这些类型的攻击相当容易。通过验证您的输入(去除 HTML 标记)并转义特殊字符,如“、'、` 等,您可以防止这种情况发生。我绝对建议您为此使用外部库,因为您可能会自己错过一些东西。
另外,这是一个类似的问题,可能会对您有所帮助。 Sanitizing user input before adding it to the DOM in Javascript
【讨论】:
如果您使用的是 expressjs/connect,那么有一个“内置”csrf middleware in connect。
【讨论】: