Я использовал учебник здесь: http://www.phpeasystep.com/phptu/26.html, чтобы создать форму для входа на мой сайт. Я установил поле uPassword в моей базе данных как md5, и все пароли в базе данных зашифрованы с помощью md5.PHP MD5 Создать пользовательскую форму
Вход в систему работает отлично, однако я немного запутался в создании регистрационной формы.
Форма запрашивает у пользователя ввод желаемого пароля. Я немного смущен относительно того, как я возьму пароль, который пользователь вводит, преобразует его в md5, а затем вводит пароль md5 в поле uPassword в таблице пользователя.
Ниже приведен код, который я для файла processresgistration.php:
/* Database connection info*/
mysql_select_db("dbname", $con);
$encryptedpassword = md5($_POST['uPassword']);
md5($uPassword);
$sql="INSERT INTO users (uName, uPassword, uSurname, uFirstName)
VALUES
('$_POST[uName]','$encryptedpassword','$_POST[uSurname]','$_POST[uFirstName]'";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "Account created. You can now login";
mysql_close($con)
?>
Код выше предполагается:
- Создайте переменную с именем encryptedpassword
- Использование uPassword в encryptedpassword
- Преобразование зашифрованного пароля в MD5
- Ввод MD 5 пароль в таблицу пользователей как uPassword
Я уверен, что я где-то не использовал правильную переменную, или я сделал простую ошибку с моим синтаксисом; любые комментарии/помощь приветствуются!
Спасибо, Chris M
Получаете ли вы какие-либо выход? В первой строке есть ошибка, добавьте трейлинг/в первую строку ... – powtac
Предотвращение SQL-инъекций http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in- php – acm
Wow, _two_ слабости (md5 _and_ unsalted password hash!) и _three_ удаленно доступный [SQL Injection] (http: //en.wikipedia.org/wiki/SQL_injection) в примерно девяти строках кода. Это должно быть какая-то запись. Я надеюсь. :) – sarnold