我使用nodejs作为我的后端并将我的数据存储在MongoDB中。我很感兴趣如何在保存到数据库之前检查输入数据。
我需要检查纯字符串,如:
"some xss test"
和字符串的对象:
{
"name": "xss name",
"age": 25
}
我应该使用什么库来完成我的任务?
答案 0 :(得分:1)
通常的做法是在输出数据时验证数据,而不是存储。这样做,您不必担心,如果XSS数据使用其他路由进入数据库会怎么样?
但你的问题仍然存在,程序员将如何检查某些内容是否包含XSS。完成这项工作有一个validator module:
var validator = require('validator');
var escaped_string = validator.escape(someString);
要验证字符串的对象,您可能必须手动遍历列表。
如果你真的有兴趣输出html代码,但担心XSS,那么你需要使用更复杂的XSS验证器,它保持最新。示例为Google Caja