password_verify() 암호화를 사용하는 login.php 스크립트를 만들려고합니다. 주제의 아무도는 명확하지 않았다 및 문제 것은 내가 아니라 내부 하드 코딩 된 문자열에서 데이터베이스에서 해시 된 암호를 검색하려고한다는 것입니다 모든 예에서 나를 위해 지금이어디에 로그인 할 때 php에 password_verify()를 삽입하고 외부 파일에 registeration.php가 있는지
$password = '123';
$hashed = '$2y$10$Lz6eWEzHqhNhiPkNYX/LAOfP.1zuyYJSc4u66TvF1bce9WrSbnSJK';
$ver_pass = password_verify($password, $hashed){..}
처럼 보이는 것입니다 . 내 샘플 코드 :
login.php 그런데
$password = mysqli_real_escape_string($database, $password);
//Check username and password from database
$query =
"SELECT id FROM `register`
WHERE `username` = '$username'
AND `hashed_p` = '$password'";
$result = mysqli_query($database,$query);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
//If username and password exist in our database then create a session.
$verified_password = password_verify($password, $hashed_password);
if(mysqli_num_rows($result) && $verified_password){
echo start session succesfully
}else{ echo error}
}
register.php
$password = mysqli_real_escape_string($database, $password);
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
$query = "SELECT email FROM register WHERE email='$email'";
$result = mysqli_query($database, $query);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$query = mysqli_query($database,
"INSERT INTO `register` (`hashed_p`) VALUES ('".$hashed_password."')";
if ($query) {....}
. 등록 프로세스가 성공적이며 password_hash()는 register.php 파일에서 정상적으로 작동합니다. 그러나 login.php 파일에서 데이터베이스에서 해시 된 암호를 검색하고이를 확인하는 데 사용하는 방법을 모르겠습니다. 감사합니다. 감사합니다.
passoword에 대한 ID 및 비밀번호 _ 체크 아웃을 선택해야합니다. _Then_ db ('$ row [ 'hashed_p']')의 pwdHash가 password_verify를 통해 사용자가 준 것과 일치하는지 확인합니다. – Jeff