这个SQL注入预防在理论上会起作用吗?

时间:2011-10-29 20:40:18

标签: php security

我计划通过使用$变量来阻止SQL注入,并将其路由到一个函数,该函数将扫描$ variable以查找任何sql命令或任何注入尝试。我还将列出人们会使用注入的常见sql命令,以便检测它。

注意:我之前曾问过类似的问题,但这次我有一个理论,我设法思考;)

2 个答案:

答案 0 :(得分:3)

防止SQL注入的最简单安全的方法是对任何不受信任的数据使用mysql_real_escape_string()(例如:$ _GET或$ _POST)。它将转义任何特殊字符,因此查询将是安全的。

如果您使用mysqli,请参阅http://www.php.net/manual/en/mysqli.real-escape-string.php

有关SQL注入的更多信息以及如何保护自己免受攻击:http://www.php.net/manual/en/security.database.sql-injection.php

所以,你的计划并不是最好的方法。它不必要地使事情复杂化。

答案 1 :(得分:3)

没有。黑名单将不可避免地给出误报,几乎肯定会给出假阴性。

使用bound parameters并让数据库为您处理。