【发布时间】:2011-02-23 15:53:33
【问题描述】:
过滤来自用户的输入(POST 和 GET)以避免 SQL 注入和类似性质的事情的行业标准是什么。到目前为止,我正在使用 filter_input() 和 mysql_real_escape_string() 函数?够不够,如果不够,我应该使用什么其他方法?
【问题讨论】:
-
对我来说似乎不错,只是不要忘记验证/清理任何内容。我唯一不同的是使用 PDO 而不是 mysql_*。在某种程度上,您不太可能让某些事情溜走,因为您在 PDO 中为 SQL 查询赋值的方式会强制进行清理。
-
@erisco 您能否详细说明 PDO 以及您如何处理它?
-
我可能可以,但php.net/manual/en/pdostatement.execute.php 已经有很好的例子了。 PDO 已非正式地成为 PHP 中数据库访问的标准。
-
你可以用mysqli代替mysql。这样,您就可以访问准备好的语句。
标签: php security filtering sql-injection sanitize