如何在节点js中检查xss的数据?

时间:2014-05-12 13:30:23

标签: node.js mongodb xss sanitize

我使用nodejs作为我的后端并将我的数据存储在MongoDB中。我很感兴趣如何在保存到数据库之前检查输入数据。

我需要检查纯字符串,如:

"some xss test"

和字符串的对象:

{
   "name": "xss name",
   "age": 25
}

我应该使用什么库来完成我的任务?

1 个答案:

答案 0 :(得分:1)

通常的做法是在输出数据时验证数据,而不是存储。这样做,您不必担心,如果XSS数据使用其他路由进入数据库会怎么样?

但你的问题仍然存在,程序员将如何检查某些内容是否包含XSS。完成这项工作有一个validator module

var validator = require('validator');

var escaped_string = validator.escape(someString);

要验证字符串的对象,您可能必须手动遍历列表。


如果你真的有兴趣输出html代码,但担心XSS,那么你需要使用更复杂的XSS验证器,它保持最新。示例为Google Caja