테스트 사이트 - 개발 중인 베타 버전입니다

서버단에서 이미지 Hotlink 방지....

자게에 질문이 올라와서 몇자 적어 봅니다.....^^

 

사이트를 운영하다 보면 자신이 힘들게 업로드한 이미지들을 긁어가서

얌체 처럼 자신의 사이트에서 링크를 걸어 이미지를 보여주는 경우들이 있습니다.

 

서버단에서 이를 방지 하는 팁을 작성해 보겠습니다.

아파치 와 리눅스에 적용하는 방법이 달라 두가지로 분류 했습니다.

 

아파치인 경우에는 httpd-vhosts.conf 파일에 아래와 같이 적용 시키면 됩니다.

<VirtualHost *:80> 
        ServerAdmin admin@domain.com 
        ServerName www.domain.com 
        DocumentRoot /home/domain 
        SetEnvIFNoCase Referer "www.domain.com" link_allow 
        <FilesMatch "\.(gif|jpg|jpeg|png|bmp)$"> 
          Order allow,deny 
          allow from env=link_allow 
          #deny from all 
        </FilesMatch> 
</VirtualHost> 

 

Nginx 경우에는 /etc/nginx/nginx.conf 파일에 아래와 같이 추가 적용하면 됩니다.
    location ~ \.(gif|jpg|jpeg|png|bmp)$ {
         valid_referers none blocked domain.com *.domain.com;
         if ($invalid_referer) {
            return   403;
        }
    }

그외에도 다른 방법이 있지만 위의 두가지만으로도 충분히 역활을 하므로 생략 하도록 하겠습니다....^^

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

아파치와 Nginx 모두 팁을 올려주셔서 감사합니다 ^^
좋은 주말 되세요~!

p.s.
무단 링크시에 특정 이미지를 띄우고 싶으시다면
1) 아파치 님께서 설명하신 부분의 3~5행을 다음과 같이 수정하시고
if ($invalid_referer) {
rewrite (.*)$ /path/403error.jpg redirect;
}

2) 하단에 다음과 같은 부분을 추가하시면 됩니다.
location = /path/403error.jpg {
}
이미지는 막아두는게 좋긴하죠
좋은 정보네요 ^^
우와 이런것도 핸들링 되는지 몰랐네요
^^
감사합니다
감사합니다
그 아까 질문했다시피 구글봇등도 허용하고 싶습니다
혹시 어떻게 하는지 추가해주실수 있으신지 궁금합니다.
유용한 정보 감사합니다.

게시판 목록

서버관리자

서버관리자 모임 게시판 입니다.
글쓰기
🐛 버그신고