개발노트
목록
[Apache] .htaccess 설정을 이용한 외부 핫링크 이미지 링크 금지 설정 방법
.htaccess핫링크링크금지
Server 2024.04.11 44 회 읽음
Server 24.04.11 44


외부의 무단 이미지 링크로 인한 트래픽 비용을 줄이기 위한 설정 방법을 소개 합니다.

트래픽 비용을 납부하는 사이트의 경우 어느 날 갑자기 외부 이미지 사용의 증가로 비용이 증가 되고 사이트 속도가 저하되는 경우가 있습니다. 카페 24 호스팅의 경우에는 절약형 호스팅을 사용한다면 사이트가 차단되면서 접속이 불가능하고 트래픽 비용을 추가 결제하거나 상위 상품으로 결제해야 사이트 접속이 가능하게 됩니다.


이미지 외부 사용에 대한 제한을 Hotlink 핫 링크라고 하며 Apache 서버를 이용하는 경우 public_html 폴더에서 .htaccess 설정을 변경하는 것 만으로도 원하는 사이트를 설정하고 차단할 수 있습니다. (public_html 폴더가 www 와 같이 다를 수 있으니 ftp 접속을 통해 폴더 이름을 확인하세요)


특정 호스팅의 경우 트래픽이 계약 용량을 초과하면 차단해 버리는 경우가 있고 사용량을 초과하면 추가 금액이 부과 되는 경우 많은 비용이 갑작스럽게 청구되지 않도록 하는 게 좋습니다. 


htaccess 설정으로 차단 설정하기

vi 명령이나 편집기 명령을 통해 .htaccess 파일을 수정하거나 생성하게 됩니다. FTP 접속하는 경우에는 해당 파일이 보이지 않는 경우도 있습니다. 마침표로 시작하는 파일은 특수용도라서 숨겨진 경우가 있으니 이런 경우에는 PC에서 생성하여 업로드 해도 됩니다.

#vi .htaccess
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?dut.kr [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?naver.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?facebook.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?twitter.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ - [F]


RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?dut.kr [NC]

여기에서 주의 해야 하는 부분은 자신의 도메인은 허용해야 하기 때문에 dut.kr 부분이 추가되어 있습니다. 그리고 검색 로봇이나 SNS에서 공유할 때 이미지가 표시되지 않는 걸 막기위해 google.com facebook.com twitter.com 도메인을 추가 한 상태 입니다. 원하는 사이트가 있다면 해당 도메인 정보를 여러 개 추가하여 적용할 수 있습니다.


RewriteRule .(jpg|jpeg|png|gif)$ - [F]

RewriteCond HTTP_REFERER 외부 접속의 리퍼러를 체크해서 해당 조건을 추가하고 맨 아래 RewriteRule 조건을 통해 jpg jpeg png gif 파일에 해당 조건을 적용한다는 의미 입니다.



주의사항

검색 로봇 도메인을 기입하지 않으면 이미지가 수집해 갈 수 없으며 제휴가 되어 있는 사이트는 추가하여 엑스박스가 뜨지 않도록 관리 해야 합니다.





트레픽 비용이 방문자는 적은데 이상하게 증가하는 경우 특정 도메인을 제외하고는 모두 차단을 하는 방법을 소개 해 드렸습니다. 웹사이트가 인기를 얻고 방문자가 늘어남에 따라 여러가지 관리 요소가 추가되며 고려해야 할 부분 증가 합니다. 중 대형 사이트의 경우에는 사이트가 중지되거나 차단이 되면 안되므로 사이트 속도나 트레픽 영향에 대한 부분을 모니터링하는 습관이 필요합니다.

목록