2013-11-15 4 views
1

다음 코드를 사용하여 사이트에 대한 액세스를 제한하려고하지만 참조 도메인에서 연결하는 것을 허용하지 않습니다..htaccess가 도메인에서 거부 함

<Limit GET> 
order deny,allow 
deny from all 
allow from studiorenegade.com 
</limit> 

RewriteEngine On 

RewriteRule ^(_app) - [F,L] 
RewriteRule ^(_config) - [F,L] 
RewriteRule ^(_content) - [F,L] 
RewriteRule ^(.*).yml$ - [F,L] 
RewriteRule ^(.*).yaml$ - [F,L] 
RewriteRule ^(.*).html$ - [F,L] 
RewriteRule ^(.*/)?\.git+ - [F,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php [QSA,L] 

AuthType Basic 
AuthName "restricted area" 
AuthUserFile /var/www/{path to .htpassword} 
require valid-user 

이 모든 것이 너무 간단해서 허용이 제대로 구성되어 있지 않은 것 같습니다. 감사합니다.

답변

1

이 같은 :

allow from studiorenegade.com 

는 연결 studiorenegade.com의 서버에서 직접, 사이트에 탐색하고 (에서 허용 될 것이다) 링크를 클릭하지 사람들을 수 있습니다. 근본적으로 studiorenegade.com이있는 성직자를 사용하는 사람을 제외한 모든 사람의 접근을 거부했습니다.

RewriteCond %{HTTP_REFERER} !^https?://(www\.)?studiorenegade\.com [NC] 
RewriteCond %{HTTP_REFERER} !^https?://hostname.of.your.server.com [NC] 
RewriteRule^- [L,F] 

을 바로 RewriteEngine On 선 아래 :

당신은 아마 없애 대신이를 추가 할.

referer 헤더 필드가 "studiorenegade.com"이 아닌 요청을 보냅니다. 그러나이 필드는 위조 될 수 있으며 사람들이 다른 장소에서 귀하의 사이트에 계속 액세스 할 수 없다는 보장은 아닙니다.

관련 문제