⊗ppPmAuPCh 429 of 447 menu

PHP에서 비밀번호 변경하기

비밀번호 변경은 단순히 개인 계정 내에서 할 수 있게 해서는 안 됩니다. 사용자가 우리 웹사이트에 로그인한 상태로 컴퓨터를 방치할 수 있기 때문입니다 (예: 사무실에서). 이 경우, 비밀번호 변경을 간단히 허용하면 악의를 품은 공격자가 비밀번호를 다른 것으로 변경할 수 있어, 물론 매우 좋지 않은 상황이 될 것입니다.

새 비밀번호로 변경하려면 기존 비밀번호 입력이 필요하도록 만들어야 합니다.

사용자가 접속하면 두 개의 입력 필드가 있는 양식을 볼 수 있는 changePassword.php 페이지를 구현해 보겠습니다. 첫 번째 필드에는 기존 비밀번호를, 두 번째 필드에는 새 비밀번호를 입력해야 합니다:

<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']; // DB에서 가져온 솔트된 비밀번호 $oldPassword = $_POST['old_password']; $newPassword = $_POST['new_password']; // DB의 해시와 입력된 기존 비밀번호가 일치하는지 확인 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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부