用户名和密码注入SQL

时间:2015-11-08 20:10:43

标签: php sql sql-injection code-injection

 $sel1 = mysql_query ("SELECT ID, name, locale, lastlogin, gender,
 FROM  USERS_TABLE
 WHERE (name = ’$user’ OR email = ’$user’) AND pass = ’$pass’");

我尝试使用用户登录(我希望用户'测试'):

     test')");--

我认为应该取消通过检查,但我没有任何想法我做错了什么?

2 个答案:

答案 0 :(得分:0)

您不应使用“"”。该字符串中的"不是字符串本身的一部分。试试这个:

test')--

答案 1 :(得分:-1)

在您的情况下,只需使用mysql_real_escape_string进行检查(documentation)。

$user = mysql_real_escape_string($user);
$pass = mysql_real_escape_string($pass);
$sel1 = mysql_query (...

但请参阅How can I prevent SQL injection in PHP?

请注意,mysql_query()现已弃用。