>데이터 베이스 >MySQL 튜토리얼 >PDO 비밀번호 해싱이 내 코드의 보안을 어떻게 향상시킬 수 있습니까?

PDO 비밀번호 해싱이 내 코드의 보안을 어떻게 향상시킬 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-10 19:19:18958검색

How Can PDO Password Hashing Improve My Code's Security?

PDO를 사용한 비밀번호 해싱으로 코드 보호

코드 보안을 강화하려면 PDO를 사용한 비밀번호 해싱 구현을 고려해야 합니다. . 이 기술은 MD5를 사용할 때보다 더 높은 수준의 보호를 제공합니다.

로그인 스크립트에서 다음과 같이 비밀번호 해싱을 통합할 수 있습니다.

$sql = "SELECT * FROM users WHERE username = :u";
$query = $dbh->prepare($sql); // prepare
$params = array(":u" => $_POST['username']);
$query->execute($params); // execute

$results = $query->fetchAll(); // then fetch

if (count($results) > 0) {
    $firstrow = $results[0];
    $providedPassword = $_POST['password'];
    $hashedPasswordFromDB = $firstrow['password'];

    if (password_verify($providedPassword, $hashedPasswordFromDB)) {
        // Valid login
    } else {
        // Invalid password
    }
} else {
    // Invalid username
}

등록 스크립트에서:

$dbh = new PDO(...);

$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
$hash = password_hash($password, PASSWORD_DEFAULT);

$stmt = $dbh->prepare("insert into users set username=?, email=?, password=?");
$result = $stmt->execute([$username, $email, $hash]);

비밀번호 해싱을 활용하면 무단 액세스 및 데이터 침해로부터 코드를 효과적으로 보호할 수 있습니다.

위 내용은 PDO 비밀번호 해싱이 내 코드의 보안을 어떻게 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.