mysql查询和安全注射?

时间:2012-07-04 11:08:11

标签: mysql

大家好日子,抱歉问这么原始的问题......但我无法回答! 我们必须输入字段: 登录 密码

结果是mysql

  

SELECT user.Ident,user.fname,user.lname FROM t_users as user WHERE user.login =:login and user.pass =:password and user.status = 0

我不是黑客,自己从未使用过mysql注射......所以我不能说它是安全的......因为设置登录“'OR 1;#”将无效。

编辑1

如果我输入 login =“'或1;#” 密码='52352352' 我明白这个

 Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' and user.pass='a32d2f2e60c1757c53cfbc3086d9ecc1' and user.status=0' at line 8

编辑2 问题已经结束,谢谢你的回答!

1 个答案:

答案 0 :(得分:2)

user.login= = :login中删除等于(==)的双精度数。 Sql与单个等号(=)进行比较。

修改 试试吧..

SELECT user.Ident, user.fname, user.lname FROM t_users as user 
WHERE user.login=:login and user.pass=:password and user.status='0';