Простая страница регистрации и входа на сайт.Я пытаюсь зашифровать пароль + соление.Это то, что я сделал, но я не уверен, правильно ли это.
Это то, что происходит на странице регистрации:
$blowfish = '$2a$10$';
$salt = '8dF$d_3';
$hashedPass = crypt($password,$blowfish . $salt);
В базе данных пароль "RAYray99" хранится как«$ 2a $ 10 $ 8dF $ d_3 $$$$$$$$$$$$$$. Wxsfa7X.nkcGqldJ9fujdd8eY.H85uC"
На странице входа я застрял наКак проверить пароль, введенный с паролем в базе данных.
Это php-скрипт регистрации, который проверяет пользователя:
mysql_connect("$db_host", "$db_username", "$db_pass") or die(mysql_error());
//select the database or return error message
mysql_select_db("$db_name") or die("database does not exist");
$email = stripslashes($_POST['email']);
$email = strip_tags($email);
$email = mysql_real_escape_string($email);
$password = ereg_replace("[^A-Za-z0-9]", "", $_POST['password']); // filter everything but numbers and letters
$password = crypt($password);
$sql = mysql_query("SELECT * FROM members WHERE email='$email' AND password='$password' AND activateemail='1'");
$login_check = mysql_num_rows($sql);
if($login_check > 0){
while($row = mysql_fetch_array($sql)){
// Get member ID into a session variable
$id = $row["id"];
session_register('id');
$_SESSION['id'] = $id;
// Get member username into a session variable
$username = $row["username"];
session_register('username');
$_SESSION['username'] = $username;
// Update last_log_date field for this member now
mysql_query("UPDATE members SET lastlogin=now() WHERE id='$id'");
// Print success message here if all went well then exit the script
header("location: account.php");
exit();
} // close while
} else {
// Print login failure message to the user and link them back to your login page
print '<br /><br /><font color="#FF0000">ERROR TRY AGAIN </font><br />;
exit();
}
Мой вопрос, как быЯ проверяю имя пользователя, введенное на странице входа, в базе данных с цифрой 1.
Спасибо, Рэй