2009-10-12 5 views
0

을 수락 거부합니다. 모두 내 로컬 서버에서 정상적으로 작동하지만 내 원격 서버 (호스팅 된 웹 사이트)에서는 작동하지 않습니다! 올바른 비밀번호를 입력해도 브라우저에 로그인 패널이 표시됩니다!다이제스트 인증은 내가 .htaccess 파일을 통해 다이제스트 인증을 사용하여 폴더를 보호하기 위해 노력하고있어 유효한 자격 증명

원격 서버에서 PHP가 Apache 모듈이 아닌 CGI로 실행 중입니다 ... 원인이 무엇입니까? 몇 가지 해결 방법이 있습니까?

.htaccess를 통한 기본 인증은 동일한 원격 서버에서 정상적으로 작동합니다!

답변

0

위의 그 the documentation에 대해의 AuthDigestDomain 지시어 누락 ​​된 코드는 말합니다 :

이 지시어는 항상 지정하고이 공간을 적어도 (세트) 루트 URI (들)을 포함해야한다. 메시지를 보내지 않으려면 클라이언트가 서버로 보낸 모든 요청에 ​​대해 헤더를 보낼 것입니다. 요청의 크기를 늘리는 것 외에도 AuthDigestNcCheck가 켜져있는 경우 성능에의 영향을 줄 수도 있습니다.

그러나 나는 mod_digest 모듈 대신 Apache 모듈 mod_auth_digest을 사용하여이 문제를 확실히 해결했습니다.

0

스크립트가 CGI로 실행되는 경우 이는 www가 아닌 ​​로컬 사용자로 실행되고 있음을 의미합니다. 예를 들어 문제 일 수 있습니다. CGI가 유일한 옵션입니까?

+0

답장을 보내 주셔서 감사합니다. 그렇습니다, CGI는 유일한 옵션입니다. Apache 모듈로 PHP를로드하도록 서버 구성을 수정할 수 없습니다! – BitDrink

+0

기다려, 당신은 PHP를 모두 의미합니까? 어떻게 스크립트를 실행하고 있습니까? – Anthony

+0

당신의 생각을 혼란스럽게 생각합니다! 내가 뭘 하려는지는 디렉터리에서 간단한 HTML 페이지 다이제스트 인증을 사용하여 보호하는 것입니다. 위의 코드를 사용하여 .htaccess와 HTML 페이지의 같은 폴더에있는 .htdigest 파일을 찾았습니다! 그러나 올바른 자격 증명을 사용하여 로그인하려고하면 브라우저에서 자격 증명을 다시 입력하라는 메시지를 표시합니다. 모든 것은 내 로컬 서버 (PHP가 아파치 모듈로 설치되어있는 곳)에서 작동하지만 원격 서버 (PHP가 CGI로 실행되는 곳)에서는 작동하지 않습니다. 그래서 서버 구성이되어야한다고 생각했지만 호스팅 서비스는 설정을 수정하지 못하게합니다! – BitDrink

관련 문제