이미지/첨부파일을 Link를 통해 바로 다운로드하지 못하게 막는 방법

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on print
Print

워드프레스를 사용하여 웹사이트를 운영할 때, 내가 올려놓은 이미지, mp3, 기타 파일들에 대한 Link가 공유되어, 사용자들이 사이트에 방문하지도 않고 Link를 통해 바로 파일만 다운로드 받는 문제가 생길 수 있다.

이런 경우 열심히 만들어 놓은 서비스를 사용자들에게 보여줄 기회를 놓치게 되며, 또한 불필요한 Traffic 발생으로 호스팅 비용이 추가로 발생할 수도 있다.

이런 경우 아래와 같이 .htaccess 파일을 설정할 수 있다.
1

1. 웹사이트 root에 있는 .htaccess 파일을 다음의 코드를 추가한다.

.htaccess 파일은 일반적으로 많이 사용되는 Apache 웹서버 설정을 위한 파일이라고 한다.

RewriteCond %{HTTP_REFERER} !^https://bekseju9n\.pe\.kr/ [NC]
RewriteCond %{REQUEST_URI} !hotlink\.(zip|mp3|mp4|mov) [NC]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule .*\.(zip|mp3|mp4|mov)$ https://bekseju9n.pe.kr/ [NC]

라인별로 살펴보면

  1. 호출이 bekseju9n.pe.kr이 아닌 다른 곳에서 이뤄지고 있고,
  2. 호출이 zip, mp3, mp4, mov로 끝나는 주소를 가지고 있고,
  3. 워드프레스에 로그인된 상태도 아니라면
  4. 위 호출 주소를 https://bekseju9n.pe.kr로 돌려라

이다.

2. 동작 확인

제대로 동작하는 지 확인해보기 위해 Chrome Secret 창을 띄운다.

Chrome Secret 창은 워드프레스 개발할 때 누군가 외부에서 접근하는 것처럼 동작시키고 싶을 때 유용하다.

1) zip 파일 호출 / 로그인 X

앞 서 포스팅에 올렸던 WordPress Template Plugin의 zip 파일 주소를 창에 입력해본다. 2

생각했던 동작과 조금 차이는 있지만, zip 파일 다운로드를 막았다.

.htaccess 파일 수정 전엔 링크를 웹브라우저에 넣기만 하면 다운로드 되던 zip 파일이 다운로드 되지 않는다.

2) jpg 파일 호출 / 로그인 X

혹시 zip 파일만 막는게 아니라 다른 파일들도 전부 막고 있는 건 아닌지, jpg 파일을 확인해보자.

jpg 파일은 잘 보인다.

3) 로그인 후 zip 파일 호출

굳이 캡쳐 안올린다. 다운로드 잘 된다.

3. 종합

당초 기대했던 동작은 zip이나 mov 파일 호출 시 정상적으로 홈페이지 메인페이지로 이동하는 것이었다. 현재는 '해당 페이지를 찾을 수 없습니다' 에러를 내고 있다.

추후 시간될 때 .htaccess를 좀 더 손보기로 하자.

Footnotes

  1. 참고문서
    https://wordpress.stackexchange.com/questions/91757/prevent-users-from-accessing-mp3s-in-my-uploads-folder
    https://themeisle.com/blog/prevent-image-hotlinking-in-wordpress/
  2. 워드프레스 플러그인 만들기 https://bekseju9n.pe.kr/wordpress-플러그인-만들기-1

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다

  • 카테고리

  • Count per Day

    • 702This post:
    • 68342Total reads:
    • 37113Total visitors:
    • 40Reads today:
    • 36Visitors today:
    • 2019년 3월 10일Counter starts on: