ApacheSnippets

.htaccess 이용하여 타서버에서 이미지 링크 막기 (이미지 무단링크 방지)

내가 제공하는 이미지파일을 다른 곳에서 무단으로 사용하는 것을 방지하기 하기 위한 방법으로 Referer 확인을 통해 내 도메인 외 접근을 막는 방식이다.

  • 계정의 루트 디렉토리에 .htaccess 파일을 생성하고 아래 2개의 방법중 하나를 작성
  1. 첫번째 방법

     SetEnvIf Referer "blog\.munilive\.com" link_allow
     SetEnvIf Referer "www\.blog\.munilive\.com" link_allow
     Order Deny,Allow
     Deny from all
     Allow from env=link_allow
    
     SetEnvIf Referer blog\.munilive\.com go_in
     SetEnvIf Referer www\.blog\.munilive\.com go_in
     SetEnvIf Referer ^$ go_in
     Order Deny,Allow
     Allow from env=go_in
     Deny from all
    
  2. 두번째 방법

     RewriteEngine On
     RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$|.*jpeg$ [NC]
     RewriteCond %{HTTP_REFERER} !^$
     RewriteCond %{HTTP_REFERER} !munilive\. [NC]
     RewriteRule (.*) access_denied.png
    

두 방식의 차이는 단지 SetEnvIf를 이용하느냐, Rewrite를 이용하느냐의 차이다.
이미지를 막기위한 핵심인 이미지를 요청하기전 페이지의 Referer가 어디인지를 확인해서 내가 지정한 도메인 외 다른 도메인에서 요청하는 것을 막는 것이다.

위 소스는 아래 내용을 참고 하였습니다.
방법1. http://mytory.net/archives/2002
방법2. http://mytory.net/archives/596