2011-10-05 5 views
36

그래서 URL에 대한 액세스를 제한하고 싶습니다. 이제 주어진 IP 주소에서 오는 경우 암호를 묻지 않아야합니다. 주소를 입력하지 않으면 암호를 묻는 메시지가 나타납니다.htaccess - 비밀번호 또는 IP 허용 목록 사용

때문에 중 하나 또는 :

AuthUserFile /some/path/.htpasswd 
AuthName "Please Log In" 
AuthType Basic 
require valid-user 

과 :

order deny,allow 

deny from all 
allow from x.x.x.x 

답변

60

당신은 아파치 "Satisfy" 지시어를 사용할 수 있습니다. 암호가없는

AuthType Basic 
AuthName "Please Log In" 
AuthUserFile /some/path/.htpasswd 
Require valid-user 
Order deny,allow 
Deny from all 
Allow from 127.0.0.1 
Satisfy any 

액세스 만 127.0.0.1에서 허용 : 여기

그것을 사용하는 예이다.

희망이 도움이됩니다. 아파치 2.4 Satisfy

+0

일을 나열 할 수 있습니다. 또한 일부 디렉토리 (예 : public /)에서 체크를 비활성화하려면 subdir의'.htaccess'에 넣으십시오. – pwes

+0

'모두 허용 '하고'만족하십시오' – pwes

+0

@Bob : 작동합니까? – FbnFgc

4

은 여전히 ​​사용할 수 있지만에서 제공 deprecated

지시어를 위해 mod_authz_host에 의해 사용되지 않습니다 mod_access_compat. 주문과 같은 오래된 지시문을 혼합하거나 요구와 같은 새로운 명령을 허용 또는 거부하는 것은 기술적으로 가능하지만 권장하지 않습니다.이 모듈은 2.4 업그레이드를 용이하게하기 위해 오래된 지시문 만 포함하는 구성을 지원하기 위해 작성되었습니다. 자세한 내용은 업그레이드 가이드를 확인하십시오. 귀하의 경우 Allow from 1.2.3.4


Authorization Containers하여 수행 할 수 있습니다 Require 몇 가지들 (Require valid-userRequire ip 같은) 결합 Require ip 1.2.3.4

로 대체됩니다. 따라서 고객이 비밀번호를 제공하거나 특정 IP 주소에서 와야한다고 말하면 지시문을 RequireAny과 같이 둘러 쌉니다.

<RequireAny> 
    Require valid-user 
    Require ip 1.2.3.4 
</RequireAny> 

이 여러 요구 지시가 하나의 구성 부분에 사용되며 <RequireAll> 같은 다른 인증 지정에 포함되지 않은 경우 Require

끝에 바와 같이 특수한 경우이지만, 그들은 내재적으로 <RequireAny> 지시어 안에 포함됩니다. 따라서 사용자에게 권한을 부여하는 첫 번째 권한은 전체 요청을 허가하고 후속 요구 지시문은 무시됩니다. 즉

RequireAny 여기에 선택 사항이며, 당신은 이것이 내가 무엇을 정확히

Require valid-user 
Require ip 1.2.3.4 
관련 문제