PHP에서 HTTP 인증 로그인이 안됩니다..
<?php
$username = 'admin';
$password = '1234';
*list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
if(isset($_SERVER['PHP_AUTH_USER']) &&
isset($_SERVER['PHP_AUTH_PW']))
{
if($_SERVER['PHP_AUTH_USER'] == $username &&
$_SERVER['PHP_AUTH_PW'] == $password)
echo "You are now logged in";
else die("Invalid username / password combinaion");
}
else
{
header('WWW-Authenticate: Basic realm="Restricted Section"');
header('HTTP/1.0 401 Unauthorized');
die("Please enter your username and password ");
}
?>
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
*1번 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
*2번 < IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
< /IfModule >
앞서 말씀드리자면 *표시는 제가 인터넷 검색을 통해 해결방법을 찾아 추가해본 문장으로 여기 올릴때 따로 표시해둔것입니다.
증상은 어떤 브라우저간에 인증창은 뜹니다. 그러나 다른 코드로도 시도해봤지만 인증창은 뜨지만 아무리 정확한 아이디와 비밀번호를
입력해도 인증이안됩니다. 그래서 코드의 문제가 아니라 PHP설정 문제인 것 같아서 검색해본 결과
저렇게 구문을 추가하고 .htaccess 파일에 1번도 추가해보고 2번도 추가해봤지만 도저히 로그인이 안됩니다. ㅠㅠ
아파처 서버 사용중인데 도대체 왜 안될까요?....
댓글 달기