在我的页面上显示用户输入

时间:2010-02-28 09:57:26

标签: php javascript html css user-input

在我们的应用程序中,我们允许用户使用WYSIWYG编辑器编写他们的Bio,但它通常包含破坏我们页面的错误HTML。在iframe中显示用户bio是一个好主意,这样它不会影响页面的其余部分吗?或者更好的选择?

由于

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

这不是一个坏主意,但为什么不在保存之前验证html?或者只是丑陋而不是坏事?大多数编辑确实有干净的办公室格式。或者是允许输入HTML的商务要求?

但iframe是最安全的做法,我会说它去吧!

答案 2 :(得分:1)

解决方案是过滤HTML,以确保它“OK”:

  • 有效的HTML
  • 仅包含您要允许的标记
  • 并且不会导致任何安全问题。

这样做的好工具是HTMLPurifier (引用)

  

HTML Purifier符合标准   用PHP编写的HTML过滤器库。   HTML Purifier不仅会删除所有内容   恶意代码(更好地称为XSS)   经过全面审核,安全无缺   容许白名单,它也会   确保你的文件是   符合标准

基本上,一旦用户输入了HTML,在将其保存到数据库之前,您将通过HTML Purifier传递它,这将确保它有效,并删除您未指定的任何标记/属性as “允许”