用户输入&符号和字符搞乱我的网站w3c验证

Ali*_*Ali 0 php xhtml html-encode w3c-validation

我的社交网站是w3c xhtml有效,但用户可以发布博客报告和东西,有时输入&符号,这反过来搞乱了我的验证.我该如何解决这个问题,是否有任何其他需要注意的单个字符可能会弄乱我的验证?

Zed*_*Zed 8

显示用户生成的内容时,通过htmlspecialchars()函数运行它.

  • 更具体地说,清理和验证*任何*外部输入,无论是来自用户还是外部系统.EG:您可以信任Google使用OpenID做正确的事情,但您相信所有OpenID提供商吗?知道什么对任何给定的输入位有效,删除/失败之外的任何东西.知道什么对任何显示有效,删除/失败之外的任何东西.这也适用于人们将JavaScript插入表单中. (2认同)
  • 如果您允许使用HTML,那么您将会收到来自用户的错误标记,以及生活中的事实; &符号只是冰山一角.您可以通过HTML Tidy运行输入标记来修复它,但如果您允许发布HTML,您也会遇到很大的安全问题,因为任何用户都可以将脚本内容注入您的站点,攻击任何其他用户.如果你必须允许发布标记,请查看HTML Purifier,但正如hobbs所说,如果您想要的只是粗体和斜体等简单的东西,那么通过简单的标记,您将获得更多*(对于用户的安全性和可用性)语言. (2认同)