我正在使用来自tinymce的免费JS插件,并且对使用tinymce文本编辑器防止HTML注入感兴趣。我已将此属性添加到INIT中:
invalid_elements:“脚本”(仅就本例而言)
但是什么都没发生。编辑器仍然“接受”脚本标记并将其传递下去。
我查看了https://www.tiny.cloud/docs/tinymce/6/content-filtering/#invalid_elements,它应该可以工作,但是我没有看到任何变化,一旦它添加。
我做错了什么吗?
有没有办法用这个编辑器限制一些HTML元素?
关于如何使用该编辑器并防止恶意HTML.,还有其他技巧吗?
发布于 2022-05-03 18:25:42
TinyMCE当然有多种配置选项可以帮助您控制在编辑器中创建哪些内容,但是您永远不能假设提供给客户端的数据是“干净的”或“安全的”。如果你的目标是对你的系统造成伤害,邪恶的人可以绕过你的前端和它的所有验证。
您应该始终适当地配置您的前端。TinyMCE有多种配置选项,可以帮助内容筛选/验证(https://www.tiny.cloud/docs/configure/content-filtering/)只允许创建那些类型的标记,包括:
但是,无论前端设计如何,您都应该始终重新检查服务器上提交的内容,以确保它是安全的。根本没有办法解决这一需要。什么是“安全”很可能是基于您的应用程序做什么和谁使用它的商业决策。
有许多不同的库可以使用服务器端来进行这种验证/清理,因此根据特定服务器端的设置,您可以找到允许您对提交的HTML进行“净化/净化”的库。
我要注意的是,TinyMCE (默认情况下)不应该允许在内容中使用<script>标记,因此这种行为很可能是由于您当前的配置造成的。
https://stackoverflow.com/questions/72102211
复制相似问题