2012-12-18 4 views
2

안녕하세요. 특정 IP 주소 (HTTP : X-FORWARDED-FOR 주소) 만 파일에 액세스하도록 허용해야합니다. 나는 다음과 같은HTTP 기반의 htaccess 액세스 허용 : X-FORWARDED-FOR

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP:X-FORWARDED-FOR} !^xxx.xxx.x.xx$ 
RewriteRule ^$ http://xxx.xxx.x.xx/access_denie.php [R=301,L] 

하여 수행 한 지금은 예를 들어 yyy.yy.y.yy.에 대한 여러 IP를 위해이를 허용해야 htaccess를 사용하여 어떻게 할 수 있습니까?

답변

6

RewriteCond^xxx.xxx.x.xx$ 부분은 단순히 정규 표현식입니다. .는 정규 표현식에서 특별한 의미를 가지고 있기 때문입니다, 그것은 할 필요가 -

^(xxx\.xxx\.x\.xx|yyy\.yy\.y\.yy)$ 

당신은 내가 백 슬래시 모든 .들 탈출 알 수 있습니다 : 당신은 이상의 IP 주소를 추가 할 그룹을 사용하여 쉽게 할 수 있습니다 문자 그대로 . 문자와 일치하도록하려면 이스케이프 처리합니다.

그래서 같이 표시됩니다 RewriteCond 새로운 :

RewriteCond %{HTTP:X-FORWARDED-FOR} !^(xxx\.xxx\.x\.xx|yyy\.yy\.y\.yy)$ 

쉽게 단순히 | 문자로 구분, 이상의 IP 주소를 추가 할 수 있습니다.

그러나이 방법으로는 실제 보안이 보장되지 않습니다. 과거의 요청을 스푸핑하는 것은 쉽습니다. 보안이 필요한 경우 SSL 대신 적절한 인증 시스템을 사용해야합니다.

+0

예 감사합니다. DaveRandom – Kalai

관련 문제