PHP에서 회원 로그인 기능을 구현할 때 비밀번호 암호화 처리 과정을 살펴봅니다.
bcrypt를 이용하여 비밀번호를 암호화합니다. PHP 5.3.7 버전 이상에서 사용할 수 있습니다. PHP 5.5 버전 이상에서는 내장함수로 포함하고 있습니다. 추천하는 암호화 기법입니다.
1. 비밀번호를 암호화 하여 회원 DB Table에 기록하는 방법입니다.
<?
$id = "test";
$password = "1234567"; // 회원 가입시 입력받은 회원 비밀번호
include "./password.php"; // 본 글 아래 첨부파일을 다운 받아 사용하세요.
$hash = password_hash($password, PASSWORD_DEFAULT); // 비밀번호 암호화
// 회원가입시에는 비밀번호를 위의 암호화 과정을 거쳐 $hash 변수 값을 회원 DB Table에 저장합니다.
$sql = "INSERT INTO member (num,id,password) VALUES ('$num', '$id', '$hash')";
if ($conn->query($sql) == TRUE) {
echo "success";
} else {
echo "Error";
}
$conn->close();
?>
2. 회원 로그인시 비밀번호를 비교하여 일치하면 로그인 세션을 생성합니다.
<?
$password = "1234567"; // 회원 로그인시 입력받은 비밀번호
// 회원 DB에서 회원 정보를 가져옵니다.
$result = mysql_query("SELECT * FROM member WHERE id = '$id' LIMIT 1");
$array = mysql_fetch_array($result);
$hash_password = $array['password'];
include "./password.php"; // 본 글 아래 첨부파일을 다운 받아 사용하세요.
if (password_verify($password, $hash_password)) { // 비밀번호가 일치하는지 비교합니다.
echo "비밀번호 일치 !!!"; // 비밀번호가 일치할 경우 로그인 세션을 생성합니다.
} else {
echo "비밀번호 불일치 !!!";
}
?>
* 비밀번호 암호화 방법 중 오래전 부터 사용하던 md5() 암호화는 보안에 취약하기 때문에 사용하지 마세요.
password.php 파일을 아래 첨부합니다. 다운받아서 사용하시면 됩니다.
'프로그래밍 > PHP' 카테고리의 다른 글
PHP 클래스(CLASS) 사용 방법 (0) | 2024.11.22 |
---|---|
PHP 오류 내용 웹페이지에 출력하기 (0) | 2024.09.17 |
HTML 페이지 PDF 파일로 다운로드 하기 소스코드 (0) | 2024.09.02 |
PHP cURL POST 전송 사용법 예제 (0) | 2020.11.26 |
[PHP] 파일업로드 기능 소스 코드 및 변수 정리 (6) | 2016.01.07 |