나는 내가 모두 같은 계정을 통해 호스팅되는 3 개 사이트에서 사용하는 다음 코드는이 : 나는 새로운 상자 A를 업그레이드 할 때까지왜 간단한 PHP 헤더 인증이 작동하지 않습니다
$username = 'test';
$password = 'test';
If (!isset($_SERVER['PHP_AUTH_USER'])|| !isset($_SERVER ['PHP_AUTH_PW'])||
($_SERVER['PHP_AUTH_USER'] != $username) || ($_SERVER['PHP_AUTH_PW'] != $password)){
//send this if the user and pass arent correct
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic Realm= "mysite"');
exit('<h2> Go away Creep!!</h2> you need a username and password to enter this kingdom!!');
}
완전히 괜찮 았는데 몇일 전에. 호스팅 회사는 모든 것이 끝났다고 말하고 서버 마이그레이션은 정상적으로 진행되었지만이 스크립트는 갑자기 작동하지 않습니다. 적절한 사용자를 입력하고 패스하면 대화 상자는 사용자에 대해 다시 묻고 패스합니다.
이 코드가 작동하지 않을 수도있는 변경 사항은 무엇입니까? 누군가 htaccess에 영향을 줄 수있는 것이 있습니까? 서버 설정? 새로운 상자에
PHP 버전은 5.2입니다하지만 난 5.3
감사 어떤 도움을 업그레이드 할 수 있습니다.
var_dump ($ _ SERVER) 그래서 실제로 전달 된 것을 볼 수 있습니다. –
SAPI에 따라 다릅니다. CGI 및 FastCGI 환경에서는 PHP_AUTH_USER가 존재하지 않으며 보안상의 이유 때문에 Authorization : 헤더가 표시되지 않습니다. 해결 방법에 대한 매뉴얼 주석을보십시오. – mario