Medium 等许多编辑器现在都提供格式化功能。从我在 DOM 中看到的情况来看,它只是添加了 HTML。但是,如何在不丢失用户应用的格式的情况下清理这种输入?
例如单击粗体添加:
<strong class="markup--strong markup--p-strong">text</strong>
但如果用户自己输入,您就不会想要呈现。那有什么不同呢?如果您使用 markdown 设计样式但又不让用户输入他们自己的 markdown 而是使其只能通过浏览器访问,那也会有所不同吗?
我能想到的一种方法是转义每个 HTML 特殊字符,但这看起来很奇怪。据我所知,您仅在输出内容时才对内容进行 sanitizer
最佳答案
您应该使用服务器端 sanitizer ,正如 Vipin 所说,因为客户端验证很容易被篡改。 OWASP(开放 Web 应用程序安全项目)有一些您可以使用的指南和 sanitizer ,例如 java-html-sanitizer。
有关该概念的一般简介,请阅读此 https://www.owasp.org/index.php/Data_Validation在 sanitizer 部分下。
关于javascript - 如何在允许格式化的 JavaScript 编辑器中处理清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47117535/