⊗ppPmAuPCh 429 of 447 menu

PHPでのパスワード変更

パスワード変更は、個人アカウント内で単純に許可することはできません。 それは、ユーザーが(例えばオフィスで)私たちのサイトにログインした状態でコンピュータを離席する可能性があるためです。 この場合、単にパスワード変更を許可すると、悪意のある人物がパスワードを別のものに変更できてしまいます。これはもちろん非常に問題です。

新しいパスワードへの変更には、古いパスワードの入力を必須とするようにする必要があります。

ページchangePassword.phpを実装してみましょう。このページにアクセスすると、ユーザーは2つの入力フィールドを持つフォームを目にします。1つ目に古いパスワード、2つ目に新しいパスワードを入力する必要があります。

<form action="" method="POST"> <input name="old_password"> <input name="new_password"> <input type="submit" name="submit"> </form>

送信ボタンをクリックしたとき、私たちは以下のことを行う必要があります。

<?php $id = $_SESSION['id']; // セッションからのユーザーID $query = "SELECT * FROM users WHERE id='$id'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); $hash = $user['password']; // データベースからのハッシュ化(ソルト付き)パスワード $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // データベースのハッシュと入力された古いパスワードが一致するか検証 if (password_verify($oldPassword, $hash)) { $newPasswordHash = password_hash($newPassword, PASSWORD_DEFAULT); $query = "UPDATE users SET password='$newPasswordHash' WHERE id='$id'"; mysqli_query($link, $query); } else { // 古いパスワードが間違っている場合、メッセージを表示 } ?>

説明されているパスワード変更機能を実装してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否