sanitize - 如何清理 Deno 中的用户输入?
问题描述
在后端 JavaScript 方面,我对安全性知之甚少。
我可以想象清理输入的唯一方法是使用正则表达式并替换所有不需要的字符,或者拆分整个字符串并过滤/映射不需要的字符,然后重新组合在一起。
我还在为 Deno 使用 Oak 模块。
解决方案
你可以试试这个https://deno.land/x/html_entities 根据 lib 文档:
您可以通过 XmlEntities 模块实现 HTML 有效性和 XSS 攻击防护。
import { XmlEntities } from "https://deno.land/x/html_entities@v1.0/mod.js";
XmlEntities.encode('<>"\'&©®'); // <>"'&©®
XmlEntities.encodeNonUTF('<>"\'&©®'); // <>"'&©®
XmlEntities.encodeNonASCII('<>"\'&©®'); // <>"\'&©®
XmlEntities.decode('<>"'&©®∆'); // <>"'&©®∆