PDO 로 폼에서 입력받은 비밀번호 hash 해서 Database에 저장하는 법
조회수 1076회
$stmt = $dbh->prepare("INSERT INTO register (email, name, author, password) VALUES (:email, :name, :author, :password)");
$stmt->bindParam(':email',$email);
$stmt->bindParam(':name',$name);
$stmt->bindParam(':author',$author);
$stmt->bindParam(':password',$password);
$email = $_POST['email'];
$name = $_POST['name'];
$author = $_POST['author'];
$password = $_POST['password'];
$options = [
'cost' => 11,
'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
]; #솔트 (추가문자열 암호화 옵션 3번째 인자값)
$hashpass = password_hash($password, PASSWORD_BCRYPT, $options); #암호와 코드
if(password_verify($password, $hashpass))
{
$stmt->execute(); #true 쿼리 실행
}
else
{
echo "쿼리가 실패하였습니다."; #false
}
print_r($hashpass);
위에 코드에서 비교에 성공해서 쿼리가 실행은 되지만 암호화 된 비밀번호 변수를 쿼리에 반영하는 법을 잘몰라서 패스워드가 그냥 저장됩니다.
해당 코드에서 무엇을 수정하면 암호화된 패스워드를 데이터베이스에 저장할수 있을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력