Я установил signup.php с паролем md5 зашифрованным, и он работает нормально, когда я проверил его на phpmyadmin, но когда я применяю md5 к login.php, он не соответствует паролям? он говорит, что всегда неверный пароль может быть синтаксис, но не мог понять его ...md5 пароли не совпадают
signup.php
if (isset($_POST['user']))
{
$user = sanitizeString($_POST['user']);
$pass = sanitizeString($_POST['pass']);
if ($user == "" || $pass == "")
$error = "Not all fields were entered<br /><br />";
else
{
if (mysql_num_rows(queryMysql("SELECT * FROM members
WHERE user='$user'")))
$error = "That username already exists<br /><br />";
else
{
queryMysql("INSERT INTO members VALUES('$user', '".md5('$pass')."')");
die("<h4>Account created</h4>Please Log in.<br /><br />");
}
}
}
login.php
if(isset($_POST['user'])) {
$user = sanitizeString($_POST['user']);
$pass = sanitizeString($_POST['pass']);
if ($user == "" || $pass == "") {
$error = "Not all fields were entered<br />";
} else {
$query = "SELECT user,pass FROM members WHERE user = '$user' AND pass = \'\".md5('$pass').\"\'";
if(mysql_num_rows(queryMysql($query)) == 0) {
$error = "<span class='error'>Username/Password invalid</span><br /><br />";
} else {
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
die("You are now logged in. Please <a href='society.php?view=$user'>" .
"click here</a> to continue.<br /><br />");
}
}
}
Существует разница между [одинарной кавычками, и в двойных кавычках строки в PHP] (http://www.php.net/manual/en/language .types.string.php). – Gumbo
MD5 ** сломан ** для хеширования паролей. [См. Это сообщение] (http://stackoverflow.com/questions/401656/secure-hash-and-salt-for-php-passwords). –
То, что вы делаете, чрезвычайно опасно. Вы ** широко открыты ** для SQL-инъекции, и вы ** будете взломаны **, если вы еще не были. Научитесь использовать подготовленные/параметризованные запросы с PDO или аналогичными. – Brad