공부

PHP에서 웹페이지 접속 시 인증창 띄우기

mokong 2019. 6. 18. 10:39

.htaccess, .htpasswd 에 auth를 사용할 수 없는 경우

 

.htaccess에 추가

SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0

 

index.php에 추가

if ((isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) || isset($_SERVER['HTTP_AUTHORIZATION'])) {

    if ($_SERVER['PHP_AUTH_USER'] != 'ckci' || $_SERVER['PHP_AUTH_PW'] != 'aaa123') {

        header('WWW-Authenticate: Basic realm="Protected area"');
        header('HTTP/1.0 401 Unauthorized');

        die('Login failed!');
    }
} else {
    header('WWW-Authenticate: Basic realm="Protected area"');
    exit();
}