像TinyMCE这样的RTF编辑器解析数据的安全性如何?

Epi*_*any 1 security perl rtf

我非常关心在网站上部署TinyMCE编辑器.查看编辑器解析的代码,它做得很好,我将HTML按钮从工具栏配置中删除,这样用户就无法注入自己的源代码.

但是,根据我在TinyMCE文档中的内容,它声称如果在用户浏览器上禁用javascript,它会很好地降级到普通的textarea ......这就是我的担忧.如果它确实恢复到普通的textarea,那么用户就可以轻松地注入自己的HTML,这让我有了安全问题.

我只是传递使用TinyMCE创建的数据,它在我的脚本创建的另一个页面中使用,因此它不会给我的服务器带来安全风险.出现安全问题,可能会将恶意数据传递给查看生成的页面的其他用户.

我知道很多人会告诉我只使用正则表达式,或解析这些数据,但这本身可能是一场噩梦,因为我会试图......

a.)使用正则表达式来尝试清理HTML而不会破坏生成的页面,最好还是为此解析数据.

b.)重新分析已经由RTF编辑器解析的数据,这也可能最终破坏生成的页面.

任何以前有这种情况经验的人,我真的很感激使用RTF编辑器获取用户数据所带来的任何其他风险的"单挑".我真的想提供这个作为用户选项,但是如果风险超过让用户使用RTF有机会在查看脚本生成的页面的另一个用户处获取wack的话.

我的直觉是在这一点上围绕使用RTF引导一个广泛的位置.

感谢您的任何指导,您可以根据自己的经验给我.

cjm*_*cjm 7

无法在Web上拥有客户端安全性.您根本无法信任浏览器,因为恶意用户很容易替换任何他想做的替代浏览器.

如果您接受来自用户的HTML(使用TinyMCE或通过任何其他方法)并将其显示给其他用户,则必须在服务器上以某种方式清理或验证HTML.如果您正在使用Perl,那么领先的软件包似乎是HTML :: Scrubber(以及各种其他模块,可帮助您将其插入各种框架).我没有机会亲自尝试一下.

TinyMCE的安全网页提到了一些方法来使它更难为人们提交任意的HTML,但你仍然需要服务器端检查.