node.js - 使用 mongoose 转义一些 HTML 标签

标签 node.js mongodb mongoose html-sanitizing

我刚刚开始使用 Mongoose ,我有一个用例,我想要一个“安全”HTML 标签的白名单(即 <i><b><u> 等),但是我想删除恶意的,例如<script> 。我目前正在尝试找到一个支持此类功能的清理中间件,但到目前为止我发现的只是 validator.js 而且似乎不支持将 HTML 列入白名单,只支持将字符列入白名单。

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

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

最佳答案

我在 cheerio 方面取得了巨大成功。它提供了类似 jquery 的 api,因此您可以直接从 Node js 选择 html 元素。您可以创建一个在最终输出中不需要的标签列表,并且 remove()他们。例如,可以像这样删除脚本标签

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

就是这样。

关于node.js - 使用 mongoose 转义一些 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23097700/

相关文章:

javascript - 如何在 JavaScript 中获取类似 json 的字符串上的特定元素?

javascript - javascript或nodejs是否有索引范围来访问数组项?

mongodb - 如何使用 mgo 编写查询 $centerSphere

mongodb - 在MongoDB中,Schemas是分开好还是放在一起好?

node.js - 哪个数据库用于基于 gps 的跟踪

javascript - JavaScript 中数组的最大值

javascript - 在 mongodb 中不显示 $Sum 输出

node.js - nodejs中如何同步连接mongodb

javascript - 如何在 mongodb 中维护排序的属性顺序?

node.js - Mongoose.js - TypeError : Model. deleteOne 不是函数