【发布时间】:2011-12-20 18:30:10
【问题描述】:
我想像这样过滤掉 html 字符
$user = $_POST["user"]; //Get username from <form>
mysql_real_escape_string($user); //Against SQL injection
strip_tags($user); //Filter html characters out
但由于某种原因,这并没有过滤掉 html 字符。不知道为什么,可以mysql_real_escape_string吗?
【问题讨论】:
-
哪些HTML字符没有被过滤掉?
strip_tags不会过滤掉所有的 HTML,只会过滤掉一些标签。除此之外,盲目地应用一些 esacpe 或 strip 功能不会增加太多安全性,您需要知道您具体做什么。这就是输入验证、清理和构建数据库查询的难点。 -
它的顺序也是错误的(即使 strip_tags 不太可能撤消转义)。
标签: php mysql html filter strip-tags