javascript - 如何在允许格式化的 JavaScript 编辑器中处理清理

标签 javascript html security editor sanitize

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/

相关文章:

javascript - 浏览器使用 FontFace 延迟加载字体

jquery - 添加 HTML5 list 时,我所有的 jQuery(移动)AJAX 请求都失败,状态为 0

c++ - 创建读取面向 Internet 的套接字的守护程序存在哪些安全问题?

security - 使用本地服务器为程序提供基于浏览器的 GUI 会带来哪些安全风险?

html - 缩小页面,我的 div 在下一行

java - Apache shiro 2.1 在 Tomcat 8 RC 5 中无法正常工作

javascript - 表格悬停边框颜色删除列线

javascript - 在完成 Rxjs Observable 之前,如何等待 subscribe 中定义的异步方法?

javascript - Jquery 在两种形式之间进行选择

javascript - 带有 data-* 属性的 jQuery 选择器