所以我试图创建一个登录表单,在DB中我将密码保存为MD5 $ password = md5($ _ POST ['密码']);但是当我尝试使用密码SELECT * FROM *******
WHERE username =' $ username'和密码=' $ password'但这不起作用。我唯一能想到的就是我将它保存为md5并选择计划文本。
答案 0 :(得分:0)
您可以使用
"SELECT * FROM ******* WHERE username='$username' AND password='".md5($password)."'"
但是,从您的代码中看不到,如果您对变量做了一些正确的转义,那么代码似乎容易受到SQL注入的攻击。您应该在将变量放入查询之前正确转义变量。
没有太多细节,有人可以输入用户名,这样查询最终会像
一样SELECT * FROM ******* WHERE username='admin' -- $username' AND password='".md5($password)."'"
这是完全有效的,并且允许他在不知道密码的情况下与该用户一起登录。