이미지 외부링크 금지 방법 소개

사이트를 구축하면서 이미지 외부 링크 금지를 해야 할 일이 생겼습니다. 사이트 내 이미지를 올리고 그 이미지 링크를 이용 트래픽을 분산시키는 사람들이 있기 때문인데요. 사이트에 부하를 주면서 다른 회원들에게 피해를 입힐 수 있기 때문에 외부 이미지 링크는 비허용하는 것이 좋습니다.

 

 

 

2017/06/30 - [IT정보/HTML/CSS] - 아이콘 문자표 손쉽게 적용하기

2017/06/27 - [IT정보/PHP] - PHP 현재시간 표기방법총정리

2017/06/18 - [IT정보] - 비트코인의 가치, 미래

2017/06/10 - [IT정보/베가스] - 베가스 오디오 볼륨 서서히 줄이기

 

 

이미지 외부 링크 금지 방법

다양한 방법들이 있을 거라 생각이 드는데요. 도메인 루트의 .htaccess를 수정하는 방식으로 많이 사용하는 것 같습니다. 검색을 해보니 사이트에서는 .htaccess파일을 수정하는 것으로 간단하게 처리가 되더군요. 저도 개발을 하고 있지만, 서버 쪽은 정말 하나도 모르는 무식쟁이입니다.

 

 

 

 

 

우선 .htaccess파일은 웹 애플리케이션 루트에 포함이 되며 생성되는 즉시 반영이 됩니다.

 

. htaccess란?

하이퍼 텍스트 액세스의 줄임말로서 웹서버가 처리할 디렉터리 수준의 설정 파일을 가리킨다고 하는데요. 디렉터리당 접근 제어를 허용하는 것을 말한다고 합니다. 이러한 접근제어로서 사이트의 접근, 외부 방문자의 접근 등을 제어를 할 수 있으며, 방화벽과는 또 다른 접근제어 방법입니다.

 

 

물론 잘못된 파일이 올라가면 사이트 자체가 안 열릴 수 있으니 조심해주시기 바랍니다. 제 경우에도 함부로 추가하다가 사이트 자체가 열리지가 않았습니다.^^

이미지 외부 링크 금지 방법 설정은 간단하게 끝나는데요. 아래 주소를 .htaccess 파일 제일 마지막에 적용시키면 간단하게 적용이 됩니다. 혹시라도 파일 자체가 없다고 한다면, 생성하셔서 넣어주셔도 무방합니다.

 

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?자기도메인.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?자기도메인.com [NC]
RewriteRule \.(pdf|zip|hwp|doc|docx|ppt|pptx|pps|ppsx|xls|xlsx|jpg|png|gif|jpeg)$ - [NC,F,L] 

 

 

다운로드 안내

 

마우스 우클릭이 안되신다면 아래 파일을 클릭하시면 다운로드 받으실 수 있습니다.

 

소스.txt
다운로드

 

저도 아파치 설정에 대해서는 공부하고 있는 상태이며, 정확한 명령어의 분석은 못하고 있는 상태인데요. 대략적으로 리퍼러의 도메인 주소를 자기 도메인 인지 아닌지 체크하는 명령어가 아닐까 생각이 듭니다.

 

아래쪽 Rule의 경우 대상이 될 파일확장자인듯하구요. 제 사이트에 적용하니 정말 간단하게 외부이미지 링크 금지가 정용이 되었습니다. 어떻게 이러한 방법을 처리할지 고민이 많았었는데 한방에 처리가 되는군요.