使用mongoose转义一些HTML标记

时间:2014-04-16 02:00:40

标签: node.js mongodb mongoose html-sanitizing

我刚刚开始使用猫鼬而且我有一个用例,我希望有一个&#34;安全的白名单&#34; HTML标记(即<i><b><u>,其他),但我想删除恶意代码,例如<script>。我目前正在尝试寻找支持此类内容的清理中间件,但到目前为止我发现的只有validator.js并且似​​乎不支持白名单HTML,只是将字符列入白名单

我的用例如下: 我想使用summernote创建一些依赖于用户输入的格式良好的东西,使用mongoose将它们保存到mongodb,然后在其他地方显示该特定的HTML。

是否有一些中间件可以帮助我解决这个问题?

1 个答案:

答案 0 :(得分:0)

我在cheerio取得了巨大的成功。它提供了像api这样的jquery,所以你可以从节点js中选择html元素。您可以在最终输出中创建一个您不想要的标记列表,并remove()。例如,脚本标签可以像这样删除

   var cheerio = require('cheerio');         
   $ = cheerio.load("<html><body><script></script></body></html>");
   $("script").remove();

就是这样。