본문 바로가기

Linux

이미지 파일을 외부에서 링크 못시키게 하기

< 이미지 파일을 외부에서 링크 못시키게 하기 >

최종작성일 : 2000.8.9
작성자 : 조용준

www.hihome.com 의 계정을 가진 회원들이
계정에 올려진 이미지를 외부에서 링크시키면
이미지가 제대로 보이지 않는다는 얘기를 듣고서
아파치 설정으로 가능할 것 같아서
세팅을 해보았습니다.

원래 아파치 httpd.conf 세팅
[code]
<VirtualHost www.abc.com>
    DocumentRoot /home/httpd/htdocs
    ServerName www.abc.com
    ErrorLog logs/error_www.abc.com
    CustomLog logs/access_www.abc.com common
</VirtualHost>
[/code]

수정된 아파치 httpd.conf 세팅
[code]
    <VirtualHost www.abc.com>
    DocumentRoot /home/httpd/htdocs
    ServerName www.abc.com
    ErrorLog logs/error_www.abc.com
    CustomLog logs/access_www.abc.com common
    ## 수정부분 시작
    SetEnvIF Referer " http://www.abc.com" pass
    <FilesMatch ".(gif|jpe?g|png)$">
    Order deny,allow
    deny from all
    allow from env=pass
    ErrorDocument 403 "이미지 링크하지 마세요!"
    </FilesMatch>
    ## 수정부분 끝
</VirtualHost>
[/code]

간단히 설명하자면 Referer 중 http://www.abc.com 이라는 값에
pass 라는 환경변수를 설정하였다가
gif, jpg, jpeg, png 이미지를 억세스할때
pass 환경변수가 있으면 억세스가 되고 없으면 접속거부를 하도록 하는 겁니
다.

일단 테스트는 성공적이었습니다.
부하문제나 에러로그문제는 지켜봐야 될 것 같습니다.