我刚刚开始使用 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/