WYSIWYG编辑器带有“添加自定义html功能”和安全(验证)的html输出?

时间:2010-03-27 11:37:09

标签: html security editor wysiwyg user-input

我一直在研究一些WYSIWYG编辑器(TinyMCE,FCKEditor等),他们似乎都提供了很多选择。

然而,似乎缺少的一个重要功能是一个简单的“添加自定义html”选项,允许用户输入您最近在网络上找到的任何嵌入式片段,例如YouTube视频。这与“编辑html / source”功能不同,因为它需要实际的html知识,并且存在用户编写无效代码的风险。

另一个我找不到的问题是输出html。我如何确保此输出不会导致安全漏洞?即使用户有能力添加自己的HTML?

所以,基本上,是否有一个开源WYSIWYG编辑器,它涵盖了这两个功能?

2 个答案:

答案 0 :(得分:2)

FCKEditor通过插件实现这一目标。例如http://sourceforge.net/projects/youtubepluginfo/

答案 1 :(得分:1)

对于第一部分,您要么拥有编辑器的“查看源”视图,要么如果它太复杂,我很确定所有主要编辑器都已存在这样的插件。如果他们不这样做,建立一个“插入任意HTML”插件应该很容易实现,通过调整另一个简单的插件,如在Martin的答案链接到youTube。

第二部分 - 清理传入的HTML - 在WYSIWYG编辑器本身是不可能实现的,因为它仅在客户端执行,并且将内容填充到可以被操纵的表单输入中,即使您关闭了编辑器中的“自定义HTML”功能。

因此,HTML 的清理需要在服务器端进行。如果你可以使用PHP,一个从外面看起来非常好的工具 - 我没有使用它但是计划在不久的将来 - HTML Purifier。它声称以最小的麻烦生成可靠的HTML。