MySQL选择一个md5

时间:2017-05-01 15:22:02

标签: mysql

所以我试图创建一个登录表单,在DB中我将密码保存为MD5 $ password = md5($ _ POST ['密码']);但是当我尝试使用密码SELECT * FROM ******* WHERE username =' $ username'和密码=' $ password'但这不起作用。我唯一能想到的就是我将它保存为md5并选择计划文本。

1 个答案:

答案 0 :(得分:0)

您可以使用

"SELECT * FROM ******* WHERE username='$username' AND password='".md5($password)."'"

但是,从您的代码中看不到,如果您对变量做了一些正确的转义,那么代码似乎容易受到SQL注入的攻击。您应该在将变量放入查询之前正确转义变量。

没有太多细节,有人可以输入用户名,这样查询最终会像

一样
SELECT * FROM ******* WHERE username='admin' -- $username' AND password='".md5($password)."'"

这是完全有效的,并且允许他在不知道密码的情况下与该用户一起登录。