私が作業しているサイトは、ハッシュフォームで電子メールアドレスをpassword_hash()
であることが分かりましたが、そのサイトはすでに稼働しています。データベースにハッシュされた電子メールアドレスを確認してください
新しいユーザーが登録しようとすると、ユーザーが使用している電子メールアドレスがデータベースにないかどうかを確認する必要があります。しかし、すべての電子メールアドレスがハッシュされているので、私は単純に使うことができません:
$mail_query = mysql_query("SELECT email FROM userbase WHERE email='$email'");
$mail_num = mysql_num_rows($mail_query);
if ($mail_num != 0) {
$error = 'This email address is already in use.';
これを行う方法はありますか?
サイトで古いMySQL APIが使用されています。
もしあなたが実際に*行う*安全な方法でpassword_hashを使用しているなら、あなたは*毎回検索してテストしなければなりません。シングル。郵便物。 *。あなたのデータベースに。ごめんなさい。問題は次のとおりです。*なぜあなたは電子メールアドレス*をハッシュしますか?もしあなたが欲しいのであれば、あなたは何をしますか?私は知っています、不条理なアイデア - あなたのユーザーの一人に*電子メール*を送りたいですか? –
このアイデアは、データベース侵害の場合にユーザーの電子メールアドレスが判読不能のまま残ることになりました。 – Menel
どのようにしてユーザーに電子メールを送りますか? – Sammitch