即使使用mysql_real_escape_string()
函数,是否也有SQL注入的可能性?
考虑这个示例情况。SQL是用PHP构建的,如下所示:
$login = mysql_real_escape_string(GetFromPost('login'));
$password = mysql_real_escape_string(GetFromPost('password'));
$sql = "SELECT * FROM table WHERE login='$login' AND password='$password'";
我听到很多人对我说,这样的代码仍然很危险,即使使用mysql_real_escape_string()
函数也可能被黑客入侵。但我想不出任何可能的利用?
像这样的经典注射:
aaa' OR 1=1 --
不要工作。
你知道任何可能的注入可以通过上面的PHP代码吗?