이미지 핫링크(이미지 링크 무단 참조) 방지

이미지 핫링크란?

이미지 핫링크(Image hotlinking)라고 들어본 적이 있나요? 우리 말로 "이미지 링크 무단 도용" 정도로 표현할 수 있을 것 같습니다. "이미지 핫링크"란 사이트 운영자의 허락없이 이미지 링크를 그대로 가져다가 사용하는 것을 의미합니다. 이 경우 이미지를 도용할 뿐 아니라, 그 이미지가 로드될 때마다 원래 사이트의 트래픽으로 이어진다는 점에 매우 바람직하지 않습니다.

제 워드프레스 블로그의 글은 출처만 인용한다면 퍼가는 것을 막지는 않고 있지만, 간혹 글을 통째로 복사하여 참조 언급 없이 그대로 사용하는 경우도 목격합니다. 심지어 이미지 링크까지 그대로 복사해가네요. (혹시 구글 애드센스 코드까지 복사해가는 것은 아닌지 모르겠습니다.)

이미지 링크 무단 복사 방지 - .htaccess 사용

이런 경우 .htaccess를 통해 이미지가 외부 사이트에서 로드되지 않도록 설정할 수 있습니다. 기본적인 코드는 다음과 같습니다.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain2.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://hpmouse.googlepages.com/hotlink.gif [NC,R,L]
// Source: hongkiat.com

위에서 라인 2의 RewriteCond %{HTTP_REFERER} !^$는 Blank Referrer를 허용하는 코드입니다.

라인 3과 라인 4는 이미지를 허용할 사이트를 이와 같은 형식으로 지정하면 됩니다. 자신의 사이트뿐만 아니라 구글과 같은 검색엔지 사이트도 넣어주면 될 것 같습니다. 야후, 구글 등의 검색 엔진을 허용하고자 할 경우 다음과 같은 코드를 추가하면 될 것입니다.

RewriteCond %{HTTP_REFERER}  !search\?q=cache               [NC]
RewriteCond %{HTTP_REFERER}  !google\.                      [NC]
RewriteCond %{HTTP_REFERER}  !yahoo\.                       [NC]
// Source: perishablepress.com

마지막 라인은 차단할 파일 포맷과 차단될 경우 표시할 차단 안내 이미지를 설정합니다. http://hpmouse.googlepages.com/hotlink.gif를 이미지가 차단될 때 표시되는 이미지의 경로로 대체하시면 됩니다.

이미지 링크 무단 참조 금지 - 이미지 핫링크 금지

위와 같은 코드를 작성하는 것에 부담이 된다면 자동으로 htaccess용 코드를 생성해주는 사이트를 이용할 수 있습니다.


참고: 해외 웹호스팅 서비스 Bluehost에서는 cpanel에서 쉽게 이미지 핫링크를 보호하도록 설정하는 기능이 있습니다. 효과는 동일합니다. 다만 .htaccess 파일의 수정을 용이하지 않는 경우 직관적인 UI에서 수월하게 이미지 무단 참조 링크를 금지하도록 설정이 가능합니다.

a2 호스팅에서도 비슷한 기능을 제공합니다. 가성비 좋은 해외 호스팅을 고려한다면 패스트코멧과 같은 서비스를 고려할 수 있습니다. 속도가 중요하거나 여러 개의 사이트를 운영하거나 사이트 규모가 큰 경우에는 클라우드웨이즈가 괜찮은 옵션일 수 있습니다.

마치며

남의 글을 인용할 때에는 (출처가 불명확하지 않는 한) 출처를 밝혀주는 것이 예의가 아닐까요?  더구나 남의 이미지 링크까지 그대로 복사해 사용하여 트래픽에 부담까지 주는 행위는 지양해야 할 것 같습니다.

현재 이 사이트는 해외 웹호스팅 서비스를 이용하여 트래픽이 어느 정도 여유롭기 때문에 당장은 이미지 링크 무단 참조를 막을 생각은 없지만, 추후에 트래픽이 초과될 경우 이 방법도 고려해야 할 것 같습니다. 그리고 글을 무단으로 퍼가는 문제를 방지하기 위해 글 복사 금지 코드를 넣었지만 사실 별 효과는 없을 것 같고 오히려 사용자의 불편을 가중시키는 부작용이 있는 것 같습니다. 어느 정도 시간이 지난 후에 복사 방지 코드는 해제하는 것도 고려해볼 예정입니다. (업데이트: 복사 방지 코드는 제거했습니다.)

이상으로 이미지 링크를 무단으로 복사하여 사이트의 트래픽에 부담을 주는 행위를 방지하기 위한 방법을 살펴보았습니다.

참고:


14개 댓글

    1. 이 블로그에 일시적으로 이 방법을 적용했다가 지금은 이용하지 않고 있습니다.

      트래픽이 부담이 된다면 이 조치를 취하는 것을 고려해볼 생각입니다.

  1. 안녕하세요 블로그사진 무단 도용때문에 여기까지 왔네요;;
    저 소스를 네이버블로그에서도 사용이 가능한건가요??

    1. 안녕하세요?

      블로그를 방문해주셔서 감사합니다.

      여기에서 다루는 내용은 웹호스팅 서버에 올린 이미지를 링크째 복사하여 다른 사이트에 올렸을 때 이미지가 표시되지 않도록 하는 것입니다. 이미지 링크까지 그대로 복사할 경우, 방문자들이 해당 이미지 링크가 삽입된 페이지/글을 방문하면 웹호스팅 서버에서 이미지를 불러오기 때문에 호스팅 자원이 소비되게 됩니다. 이러한 현상을 방지하기 위한 조치입니다.

      이미지를 복사하지 못하도록 하는 다양한 방법을 구글에서 검색할 수 있습니다. 하지만, 브라우저에 표시되는 이미지는 어떤 식으로든 저장이 가능합니다.

      이미지 도용이 문제가 된다면 사진에 워터마크를 표시하는 것이 좋을 듯 합니다. 그리고 네이버 블로그의 경우 사진을 무단 도용한 블로그를 신고할 수 있는 기능이 있는 것으로 알고 있습니다.

      1. 친절하게 답주셔서 감사합니다.
        사진에는 워터마크도 하고 있고 발견하면 신고도 하고 있습니다만
        이미지 라는 특징상 글이 없이 사진만 가지고 갔을 경우에 검색하는 것이 너무 힘이들어 혹여나 방지할 수있는 방법이나 있나 해서 여쭤봤어요 감사합니다

  2. 워드크래커님 항상 글 잘 보고 있습니다.
    제 FTP에서는 .htaccess를 찾을 수 없는데 혹시 이유를 아시나요..?ㅠㅠ
    제가 새로 생성을 해야하는걸까요?

    1. 안녕하세요?

      정확한 상황을 몰라서 정확한 답변을 드릴 수가 없지만 다음 상황을 확인해보시기 바랍니다.

      1) 워드프레스 대시보드에서 설정 > 고유주소로 이동하여 "저장"을 눌러보시기 바랍니다.

      그래도 .htaccess 파일이 없으면 고유주소 설정을 변경한 후에 "저장"을 눌러보시기 바랍니다.

      2) FTP에서 hidden 파일이 표시되지 않을 수 있습니다.

      Filezilla의 경우 서버 > 숨김 파일 강제 표시를 체크해보시기 바랍니다.

      ,htacess는 아파치 웹 서버를 실행하는 웹서버에서 사용되는 구성 파일입니다(.htaccess is a configuration file for use on web servers running the Apache Web Server software).

      https://builtwith.com/ 에서 Web Server 섹션에서 확인해보시기 바랍니다.

      (참고: https://www.reddit.com/r/Wordpress/comments/6560dm/cant_find_htaccess_file/ )

      1. 감사합니다. 워드님 덕분에 해결했습니다.
        제 FTP에서 .htaccess가 보이지 않았던 이유는.. 접속할 때 포트 번호를 지정하지 않아서였더군요..ㅠㅠ 그래서 아예 없는 줄 알고 임의로 하나 생성해서 넣었더니 사이트가 먹통이되는 바람에..
        워드님 포스트 중 하나가 .htaacess_old 같이 이름을 바꾸고, 고유주소를 다시 적용해보라는걸 따라해보니 잘 해결됐습니다.
        항상 감사합니다 ^^

      2. 이른 시간부터 답변해주셔서 너무너무 감사드립니다!!

        워드님도 오늘 하루 좋은 일만 가득하시길 바랍니다..^^

댓글 남기기

* 이메일 주소는 공개되지 않습니다.