2012-02-09 4 views
1

.htaccess 암호를 사용하여 보안 설정 한 준비 사이트가 있습니다..htaccess 암호 보호를 통한 쿼리 문자열 허용

그러나 전자 상거래 사이트이므로 페이팔의 IPN을 통해 내 사이트와 통신 할 수 있습니다.

다음 .htaccess를 사용하고 있지만 작동하지 않습니다. 암호 보호는 여전히 유효합니다.

Deny from all 
Order deny,allow 
AuthType Basic 
AuthName "Restricted Area" 
AuthUserFile "/path/to/htpasswd" 
require valid-user 

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{QUERY_STRING} ^paypalListener=paypal_standard_IPN$ 
    RewriteRule .* - [E=test_uri] 
</IfModule> 

#Allow valid-user 
Allow from env=test_uri 
Satisfy any 

아무도 나를 인도 할 수 있습니까?

+0

실제로 어떻게됩니까? 500 서버 오류가 발생하거나 페이팔 URL에 대해서도 암호를 묻는 메시지가 표시됩니다. – talereader

+0

암호 보호가 여전히 유효하므로 내 규칙이 잘못 작성되었는지 궁금합니다. – witherspoon

답변

0

내가 볼 수 있듯이 [E=test_uri]은 "test_uri"를 빈 문자열로 설정하기 때문에 아무 것도하지 않습니다. 또한 Allow from은 IP 또는 도메인 (예 : PayPal의 서버가 귀하의 사이트에 요청을 보내는 경우)을 기대합니다. 제대로이 같은 요청을 원격 주소로 환경 변수를 설정하면

그래서 그것은 작동 있습니다

RewriteRule .* - [E=test_uri:%{REMOTE_ADDR}] 

은 지금 생각이 권리를 테스트 할 수 없습니다.

또한 서버의 .conf 파일에 다른 인증 규칙이없고 .htaccess 파일의 인증 지정 문이 구문 분석 (Options AuthConfig)되어 있는지 확인하십시오.

+0

감사합니다.하지만 같은 문제가 계속 발생합니다. 내 방법은 실제로 여기서 http://css-tricks.com/snippets/htaccess/allow-single-url/에서 온다. 그러나 내가 쿼리 문자열을 허용하기를 원했기 때문에 mod 재 작성을 사용하여 끝냈다. – witherspoon

+0

나는 이것을 로컬 호스트에서 테스트했다. 'test_uri'는 127.0.0.1로 설정됩니다. 'Allow from 127.0.0.1'을 사용하면 암호 보호가 해제됩니다. 하지만이 모든 것을 결합하고'allow from env = test_uri'를 사용하면, 유효한 명령문 인 afterall은 작동하지 않고'test_uri'는 설정이 해제됩니다. 유효한 사용자/패스워드로 로그인 할 때에도,'test_uri'는 설정이 해제됩니다. 나는 당혹 스럽다. – talereader

+0

이제는 정말 기진 맥진합니다. 나는 uri와 ip를 시도해 봤는데 잘 작동한다. – witherspoon

관련 문제