不適切な PHP パスワード検証メカニズム: 間違ったパスワードでログインするリスクを回避するにはどうすればよいですか?
Web 開発では、ユーザー パスワードのセキュリティは常に非常に重要な問題です。 PHP を使用して Web アプリケーションを開発する場合、間違ったパスワードでログインするリスクを回避する方法が開発者にとって重要な懸案事項になっています。この記事では、正しいパスワード検証メカニズムを通じてユーザーのパスワード セキュリティを強化し、間違ったパスワード ログインのリスクを回避する方法を紹介します。
ユーザー パスワードを保存するときは、パスワードを平文でデータベースに保存しないでください。これにより、パスワード漏洩のリスクが大幅に高まります。正しいアプローチは、パスワード ハッシュ ストレージを使用することです。つまり、ユーザーが入力したパスワードをハッシュしてデータベースに保存します。 PHP には、パスワード ハッシュの保存と検証を実装する組み込みの password_hash()
関数と password_verify()
関数があります。
// 注册时密码哈希存储 $password = 'user_password'; // 用户输入的密码 $hashed_password = password_hash($password, PASSWORD_DEFAULT); // 将$hashed_password存储到数据库中 // 登录时密码验证 $input_password = 'user_input_password'; // 用户登录时输入的密码 $stored_hashed_password = 'hashed_password_from_db'; // 从数据库中获取的存储的哈希密码 if(password_verify($input_password, $stored_hashed_password)) { // 密码验证通过 // 进行登录操作 } else { // 密码验证失败 }
コード例では、password_hash()
関数を使用して、ユーザーが入力したパスワード password_verify()# をハッシュします。 ## ログイン時にユーザーが入力したパスワードが、保存されているハッシュ化されたパスワードと一致するかどうかを検証する機能です。
// 密码强度验证 $password = 'user_password'; // 用户输入的密码 if(preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[$@$!%*?&])[A-Za-zd$@$!%*?&]{8,}$/', $password)) { // 密码符合要求 } else { // 密码不符合要求 }
// 生成验证码 $random_code = mt_rand(1000, 9999); $_SESSION['captcha_code'] = $random_code; // 显示验证码 <img src="captcha.php" / alt="不適切な PHP パスワード検証メカニズム: 間違ったパスワードでログインするリスクを回避するにはどうすればよいですか?" > // 验证验证码 $input_code = $_POST['captcha_code']; if($input_code == $_SESSION['captcha_code']) { // 验证码验证通过 } else { // 验证码验证失败 }
以上が不適切な PHP パスワード検証メカニズム: 間違ったパスワードでログインするリスクを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。