使用PHP或javascript或PHP框架验证HTML嵌入代码(Zend)

2 html php embed validation zend-framework

只是一个简单的问题..验证HTML嵌入代码有什么好的做法吗?fyi,我现在正在使用Zend Framework和原型+ scriptaculous ..如果有人可以围绕这个环境提供线索,那将会很棒.

谢谢!^^

Pas*_*TIN 8

如果您想允许用户输入HTML,然后在您的网站上显示它,那么HTMLPurifier就是一个非常棒的解决方案.

它将任何类型的"HTML"代码作为输入,并返回有效的HTML,允许您指定必须允许哪些标记和属性 - 所有其他标记和属性将被删除.

这样,如果您的用户输入了无效的HTML,您仍然可以获得有效的HTML (在输出时破坏布局的风险较小),如果您只指定了几个非危险的标签和属性,那么这是一个很好的加分为了安全.

如果您想在不必将其集成到您的应用程序中的情况下进行尝试,那么可以使用一个演示页面,顺便说一句.

例如,如果我输入这样的内容:

<p>
this <b>is a<i>test</b></i>
with a not <em>closed tag
and a <a href="http://google.com" onclick="alert('bouh');">link</a>
and some <script type="text/javascript>alert('script');</script>
</p>
Run Code Online (Sandbox Code Playgroud)

我得到的HTML 输出将是:

<p>
this <b>is a<i>test</i></b>
with a not <em>closed tag
and a <a href="http://google.com">link</a>
and some </em></p>
Run Code Online (Sandbox Code Playgroud)

即标签正常(关闭,按正确的顺序),脚本标签已被删除,链接的onclick属性也被删除.