더 나은 프로그래머가 되자

파일접근 금지,직접링크 금지,이미지 보호하기 본문

리눅스

파일접근 금지,직접링크 금지,이미지 보호하기

greathuman 2014. 9. 26. 16:37

특정한 패스나 특정파일종류를 직접 링크하지 못하게 하고 싶을때

이미지만 링크해서 참조하거나 긁어가지는 못하지만 내 웹페이지속에서는 참조할수 있어야한다.

 

 

http://gau.dnip.net/image/ej.jpg 이렇게 접속하면

Forbidden

You don't have permission to access /image/ej.jpg on this server.

이렇게 나오면서 금지되고 아파치로그엔 
[Thu Jul 17 10:38:52 2014] [error] [client xx.xx.xx.xx] client denied by server configuration: 
...

하지만 내 페이지를 본다면 아래처럼 그림이 나오게 된다.

 

index.html속에

<img src='/image/ej.jpg'> 이렇게 이미지 참조

 


설정파일 : /etc/apache2/sites-available/default

SetEnvIf Referer "^http://*/" _referal

<Files ~ "\.(gif|jpg|jpeg|png|bmp|mp3|mp4|avi|mpeg)$">
   Order deny,allow
   Deny  from all
   Allow from env=_referal
</Files>

<Directory /var/www/image>
   Order Deny,Allow
   Deny  from all
   Allow from env=_referal
</Directory>

설정한 미디어파일이나 /image/ 폴더에 있는 파일은 직접 링크해서는 가져갈 수 없고 페이지를 통해서만 볼수있다.

 

%) 아파치 설정파일 문법검사


 

pi@raspberrypi ~/www $ apache2ctl -t
/usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted)
Syntax OK

에러는 지 자체 에러고 일단 아파치설정은 OK

<도움>

http://apache-kr.org/www/apacheTechnical.php?cmd=technicalView&rg_d=20070712&rg_seq_n=1 

Comments