현재 위치: > 최신 기사 목록> PHP에 대한 HTTP 로그인 검증에 대한 자습서 : 기본 인증 및 사용자 로그인 관리

PHP에 대한 HTTP 로그인 검증에 대한 자습서 : 기본 인증 및 사용자 로그인 관리

gitbox 2025-06-28

소개하다

웹 개발에서는 민감한 정보의 보안을 보호하기 위해 사용자를 확인하기 위해 로그인해야합니다. 이 기사는 PHP를 사용하여 HTTP 로그인 확인을 구현하는 방법을 자세히 소개합니다.

HTTP 로그인 검증의 원리

HTTP 로그인 검증은 HTTP 프로토콜의 기본 인증 메커니즘을 기반으로합니다. 클라이언트가 요청을 보낼 때 사용자 이름과 비밀번호가 전달됩니다. 요청을받은 후 서버는이 정보의 정확성을 확인합니다. 확인이 성공한 후 서버는 200 OK 상태 코드를 반환하고 실패하면 401 무단 상태 코드를 반환합니다.

요청 헤더의 인증 필드

HTTP 로그인 검증 자격 증명은 일반적으로 요청 헤더의 인증 필드에 저장되며 "Basic Base64 (사용자 이름 : 암호)"형식입니다.

 
function getAuthorizationHeader() {
    $headers = apache_request_headers();
    if (isset($headers['Authorization'])) {
        return $headers['Authorization'];
    }
    return null;
}
$authHeader = getAuthorizationHeader();

구문 분석 승인 필드

인증 필드에서 사용자 이름과 비밀번호를 구문 분석하십시오.

 
function parseBasicAuth($authHeader) {
    list($username, $password) = explode(':', base64_decode(substr($authHeader, 6)));
    return array(
        'username' => $username,
        'password' => $password
    );
}
$credentials = parseBasicAuth($authHeader);

HTTP 로그인 확인을 구현하십시오

다음으로 PHP를 사용하여 HTTP 로그인 검증을 구현하는 방법을 소개합니다.

사용자 이름과 비밀번호를 확인하십시오

먼저 사용자 이름과 비밀번호의 정확성을 확인해야합니다. 사용자 이름과 비밀번호는 일반적으로 데이터베이스에 저장되며 사용자가 입력 한 것과 비교됩니다.

 
function authenticate($username, $password) {
    // 데이터베이스에서 해당 사용자의 비밀번호를 가져옵니다
    $storedPassword = '...';
    if ($password == $storedPassword) {
        return true;
    } else {
        return false;
    }
}
if (authenticate($credentials['username'], $credentials['password'])) {
    echo '검증이 통과되었습니다';
} else {
    header('HTTP/1.1 401 Unauthorized');
    echo '확인이 실패했습니다';
    exit;
}

로그인 상태를 저장합니다

확인이 통과 된 후에는 세션에서 후속 액세스를 위해 로그인 상태를 저장할 수 있습니다.

 
session_start();
$_SESSION['isLoggedIn'] = true;

로그인 상태를 결정합니다

로그인 확인이 필요한 페이지 또는 요청에서 로그인 상태를 결정하십시오. 사용자가 로그인되지 않으면 무단 상태 코드가 반환됩니다.

 
function checkLoginStatus() {
    session_start();
    if (isset($_SESSION['isLoggedIn']) && $_SESSION['isLoggedIn'] === true) {
        return true;
    } else {
        return false;
    }
}
if (!checkLoginStatus()) {
    header('HTTP/1.1 401 Unauthorized');
    echo '로그인하지 않았습니다';
    exit;
}

요약

위의 단계를 통해 PHP를 사용하여 기본 HTTP 로그인 검증 기능을 구현할 수 있습니다. 이 로그인 검증 방법은 간단하고 보편적이며 대부분의 웹 애플리케이션에 적합합니다. 실제 응용 프로그램에서는 특정 요구에 따라 로그인 검증의 보안을 향상시켜야합니다.