2010-08-25 133 views
1

我用着名的symfony框架制作了一个网站。我想为它添加丰富的编辑功能。我找到了TinyMCE编辑器。但是出现了一个问题:用户如何在内容中嵌入一些JavaScript代码?如警报('hello world')。富文本编辑,防止嵌入式javascript代码

我测试了wordpress,这是一个非常有名的博客软件。它面临同样的问题。 example

如果某个人嵌入了警报脚本,这没什么大不了的。但是如果他们嵌入了一些危险的代码呢?你有没有遇到同样的问题?我应该使用markdown而不是html吗?用于降价编辑的任何好的部件?

回答

1

不允许在用户输入中嵌入任何JavaScript。这很容易在客户端或服务器上清除。有你所支持的HTML标签的“白名单”,并从你允许的任何东西中删除任何事件监听器属性。

2

这是一个好主意,使用现有的库来清理您的用户输入,html净化器项目:http://htmlpurifier.org/似乎保持良好。