【发布时间】:2011-08-26 21:38:34
【问题描述】:
我正在寻找一种方法或函数来显示我的 mySQL 数据库中的数据。允许用户发布文章,我使用mysql_real_escape_string 来避免在将他们的帖子插入数据库之前进行 SQL 注入。
为了我的测试目的,我在一个文本区域写了我的帖子,带有<b> <a> <i> <li> 之类的标签。
稍后我将在 Stackoverflow 上使用像这样的编辑器来帮助用户发布他们的帖子。
但是,我知道 XSS 并且直接从数据库回显可能会导致 XSS 攻击。因此,我为我的测试选择了使用htmlentities 或htmlspecialchars 输出内容。他们都不会用 html 正确地向我显示帖子。
因此,我使用了条形标签,但据我所知和阅读,并不安全。
你也可以使用什么功能,可以让我正确输出数据,只是 like this 并防止XSS?
【问题讨论】:
-
使用HTMLPurifier。对于给定的 html,它会像你想要的那样苛刻,并无情地(或礼貌地)撕掉你不想要的任何东西。
-
@Marc B : HTMLPurifier 轻吗?
标签: php xss html-entities htmlspecialchars strip-tags