서버단에서 이미지 Hotlink 방지.... 정보
서버단에서 이미지 Hotlink 방지....본문
자게에 질문이 올라와서 몇자 적어 봅니다.....^^
사이트를 운영하다 보면 자신이 힘들게 업로드한 이미지들을 긁어가서
얌체 처럼 자신의 사이트에서 링크를 걸어 이미지를 보여주는 경우들이 있습니다.
서버단에서 이를 방지 하는 팁을 작성해 보겠습니다.
아파치 와 리눅스에 적용하는 방법이 달라 두가지로 분류 했습니다.
아파치인 경우에는 httpd-vhosts.conf 파일에 아래와 같이 적용 시키면 됩니다.
<VirtualHost *:80>
ServerAdmin *** 개인정보보호를 위한 이메일주소 노출방지 ***
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;
if ($invalid_referer) {
return 403;
}
}
그외에도 다른 방법이 있지만 위의 두가지만으로도 충분히 역활을 하므로 생략 하도록 하겠습니다....^^
6
댓글 6개
좋은 주말 되세요~!
p.s.
무단 링크시에 특정 이미지를 띄우고 싶으시다면
1) 아파치 님께서 설명하신 부분의 3~5행을 다음과 같이 수정하시고
if ($invalid_referer) {
rewrite (.*)$ /path/403error.jpg redirect;
}
2) 하단에 다음과 같은 부분을 추가하시면 됩니다.
location = /path/403error.jpg {
}
^^
감사합니다
그 아까 질문했다시피 구글봇등도 허용하고 싶습니다
혹시 어떻게 하는지 추가해주실수 있으신지 궁금합니다.