2017-03-26 7 views
1

이미지의 핫 링크를 방지하고 허용 된 호스트를 txt 파일의 RewriteMap에 의해 동적으로 추가하려고 시도했지만 불행히도 조건이 작동하지 않습니다. 여기핫 링크를 방지하기 위해 RewriteMap이 작동하지 않음

는 가상 호스트

<VirtualHost *:80> 
    DocumentRoot D:\XAMPP\htdocs\test\base 
    ServerName base.test.dev 
    RewriteEngine On 
    RewriteMap allowedhosts "txt:D:\XAMPP\htdocs\test\base/rules.txt" 
</VirtualHost> 

의 코드이며, 다음은 누군가하시기 바랍니다 htaccess로 코드

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^${allowedhosts:$1} [NC] 
RewriteRule \.(gif|jpg|jpeg|bmp|png)$ - [F] 

하고 호스트에 대한 TXT 파일 라인입니다 다음은 이미지

http(s)?://(www\.)?base.test.dev 

에 액세스 할 수 있도록 도와주세요.

감사합니다.

+0

모든 이미지가 차단됩니다. –

답변

0

공간 분리 된 키 - 값 쌍 행당 하나를 포함하는 평문 파일

TXT RewriteMap

가입일.

이 문제는 중요한 부분 인 것처럼 보입니다. 캡처 된 이미지 유형입니다. gif|jpg|jpeg|bmp|png 중 하나입니다. HTTP_REFERER지도에서 조회됩니다 :


당신은 알 수없는/유효하지 않은 호스트

RewriteCond ${allowedhosts:%{HTTP_REFERER}|NOT_ALLOWED} NOT_ALLOWED 
RewriteRule \.(?:gif|jpg|jpeg|bmp|png)$ - [F] 

다음과 같이 일하는 것이 기본값을 핵심 리퍼러를주고 고용 수 있습니다. 지도에 해당 값이 없으면 기본값 인 NOT_ALLOWED이 반환되고 조건이 true가됩니다. 이 경우 403 Forbidden이 반환됩니다.

+0

답장을 보내 주셔서 감사합니다.지도 파일이없는 솔루션이 제대로 작동하지만지도 파일이 필요한 솔루션이 필요합니다. 호스트가 수백 개이기 때문에 동적으로 파일을 빌드해야합니다. htaccess 파일과는 별도로 보관하십시오. 맵 파일에 대한 주요 값 솔루션을 시도했지만 작동하지 않습니다. –

+0

하지만 하나의 키 (gif, jpg 등)에 대해 여러 호스트를 가질 수는 없습니다. –