我使用着名的symfony框架创建了一个网站。我想为它添加丰富的编辑功能。我找到了TinyMCE编辑器。但是有一个问题:用户如何将一些javascript代码嵌入到内容中?如警报('你好世界')。
我测试了wordpress,这是一个非常着名的博客软件。它面临着同样的问题。 example
如果有人嵌入警报脚本,那没什么大不了的。但如果他们嵌入了一些危险的代码呢?你遇到过同样的问题吗?我应该使用markdown而不是html吗?用于降价编辑的任何好小部件?
答案 0 :(得分:3)
使用现有的库来清理用户输入是个好主意,html净化器项目:http://htmlpurifier.org/似乎得到维护并做得很好。
答案 1 :(得分:1)
不要在用户输入中允许任何嵌入式JavaScript。这很容易在客户端或服务器上清除。拥有您支持的HTML标签的“白名单”,并从您允许的任何内容中删除任何事件监听器属性。