亞波治

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

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

 

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

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

 

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

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

 

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

<VirtualHost *:80> 
        ServerAdmin [email protected] 
        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 {
}
이미지는 막아두는게 좋긴하죠
좋은 정보네요 ^^
우와 이런것도 핸들링 되는지 몰랐네요
^^
감사합니다
감사합니다
그 아까 질문했다시피 구글봇등도 허용하고 싶습니다
혹시 어떻게 하는지 추가해주실수 있으신지 궁금합니다.
유용한 정보 감사합니다.
댓글을 작성하시려면 로그인이 필요합니다.

서버관리자 모임 게시판 입니다.

+
제목 글쓴이 날짜 조회
18-11-17 조회 2,330
18-11-01 조회 2,815
18-10-31 조회 2,263
18-09-27 조회 2,151
18-09-27 조회 3,331
18-09-21 조회 4,533
18-09-15 조회 2,705
18-08-27 조회 2,522
18-08-12 조회 2,494
18-08-03 조회 2,582
18-07-03 조회 1,770
18-06-21 조회 1,988
18-06-08 조회 2,310
18-06-07 조회 2,227
18-05-30 조회 2,665
18-05-15 조회 2,511
18-05-08 조회 3,960
18-04-08 조회 3,323
18-04-07 조회 4,399
18-04-05 조회 2,133
18-04-03 조회 2,425
18-03-31 조회 2,570
18-03-29 조회 2,142
18-03-28 조회 1,985
18-03-27 조회 2,186
18-03-26 조회 1.1만
18-03-20 조회 2,225
18-03-17 조회 2,415
18-03-17 조회 2,187
18-03-14 조회 2,598