2010-12-01 4 views
12

dev 사이트를 설정하고 비밀번호로 보호하기 위해 유효성이 검증 된 방문자 만 사이트를 볼 수 있습니다. 모두 좋고 좋아. 내 로컬 버전에서 내 사용자 이름과 암호를 입력하는 것에 짜증이납니다. 따라서 내 로컬 복사본과 dev 사이트의 htaccess 파일을 변경하지 않고 어떻게 암호로 사이트를 보호 할 수 있습니까? 그러나 사용자 이름과 암호를 입력하지 않고도 직접 액세스 할 수 있습니까?htaccess 비밀번호는 로컬 호스트가 아님을 보장합니다.

답변

15

뭔가 ..

Require valid-user 
Allow from 127.0.0.1 
Satisfy Any 

은에서 : http://httpd.apache.org/docs/2.0/mod/core.html#satisfy

+2

그럼 그 사람을 완료. – Wez

+2

잘 모르겠지만 이유는 있지만이 인증을 사용하면 인증이 완전히 중단되고 누구나 보호 된 영역을 볼 수 있습니다 ... 내 IP가 127.0.0.1이기 때문에 내 dev 사이트에서 작동한다는 의미입니다. 그러나 게시 할 때 라이브 서버, 여전히 그저 나를 들여 보내고 있습니다 ... 확실하지는 않습니다. – SublymeRick

+0

여기에서 같은 문제가 발생합니다. 네트워크 서버를 열어 놓는다. –

1

dev 사이트에 암호를 입력하는 것이 좋습니다 - 가상 호스트를 .htaccess 파일이 아닌 dev 사이트의 VirtualHost에두면 인증은 디렉토리가 아닌 서버 수준에서 처리됩니다 수평.

또한, 대부분의 최신 브라우저 아마 당신은 당신이 특정 호스트에서 액세스 할 수 있도록 allow from를 사용할 수

0

바와 같이 here을 논의 :)을 위해 비밀번호를 저장합니다. 트릭을 할해야이 같은

4

나는 다음 창에서 개발하고 있기 때문에 (Windows 암호 파일에서 리눅스를 분리해서 할 수있는 멋진 방법을 알아 냈어요 Linux 프로덕션 서버로 릴리스).

방금 ​​phpinfo()로 PHP 스크립트를 작성했습니다. 우리의 로컬 서버와 prod 서버에서 아파치 모듈 'mod_win32'를 찾아서 두 모듈을 분리했다.

<IfModule mod_win32.c> 
    AuthUserFile C:\xampplite\your\windows\path.passwd 
</IfModule> 
<IfModule !mod_win32.c> 
    AuthUserFile "/your/linux/path/.passwd" 
</IfModule> 
AuthName "Please Login" 

RewriteEngine On 
AuthType Basic 
Require valid-user 
0

아파치 2.4 이후 당신은 또한이 같은 HTTP_HOST 환경 변수에 대해 확인하여 암호 보호를 둘러싸고 수 있습니다

<If "%{HTTP_HOST} != 'localhost'"> 
    # Your password protection code 
</If> 

질문에 대한 accessing the environment variables에도 마크 폭스에서 답변을 참조하십시오. Windows 용

0

예 :

AuthType Basic 
AuthName "Password Protected Area" 
AuthUserFile C:/Apache24/htdocs/.htpasswd 
Require valid-user 
Order allow,deny 
Allow from localhost 
Allow from 127.0.0.1 
Satisfy Any 
관련 문제