Linux WEB

특정 웹 사이트의 페이지를 외부사이트에서 링크하여 사용하는 경우는 대부분 사전 허락이 된 경우이지만 그렇지 않은 경우 불필요한 부하가 많이 발생하여 심할 경우 서버 자체가 다운되는 원인이 될 수 도 있습니다.

그와 같은 사태를 방지하기 위한 예방은 /usr/local/apache/conf/extra/httpd-mpm.conf 파일의 가상호스트 설정에서 간단히 해결할 수 있습니다.


다음은 abc123.co.kr 이라는 홈페이지가 있다고 가정한 상황의 가상 호스트 설정 예시입니다.


[httpd-mpm.conf]

<VirtuaHost 192.168.0.201>

    ServerAdmin webmaster@abc123.co.kr

    DocumentRoot /home/abc123/www

    ServerName example.co.kr

    ServerAlias www.abc123.co.kr.com

SetEnvIFNoCase Referer "abc123.co.kr" link_allow

    <FilesMatch "\.(gif|jpg)$">

        Order allow,deny

        allow from env=link_allow

        #deny from all

    </FilesMatch>

</VirtualHost>


위에서 진하게 표시된 부분이 외부 링크를 막는 설정입니다.


SetEnvIFNoCase Referer "abc123.co.kr" link_allow

이것은 변수를 설정하는 것으로 대소문자구분없이 referer(이전 방문 url 값)에 abc123.co.kr 이 들어가 있는 부분만 link_allow 라는 변수에 할당합니다.


<FilesMatch "\.(gif|jpg)$">

    Order allow,deny

    allow from env=link_allow

    #deny from all

</FilesMatch>

이 부분은 확장자가 .gif 또는 .jpg 로 끝나는 파일명에 대하여 허용 여부를 설정하는 것으로 위에서 설정한 link_allow의 변수에 해당하는 경우만 허용하겠다는 의미입니다.



정리하자면, 현재 이 웹사이트의 도메인은 abc123.co.kr이며 *.gif 또는 *.jpg 이미지 파일들에 대하여 abc123.co.kr 이라는 도메인이름이 들어가 있지 않은 referer에 대한 외부의 무단링크를 허용하지 않겠다는 설정입니다. 따라서, abc213.co.kr 웹사이트 자체에서 링크하여 사용하는 것은 얼마든지 가능하지만 외부의 웹사이트에서 abc123.co.kr*.gif 또는 *.jpg 파일의 무단 링크는 모두 차단됩니다. 이를 응용하면 다른 파일들에 대해서도 외부의 무단링크 차단 설정을 할 수 있습니다.

번호 제목 글쓴이 날짜 조회 수
43 PHP 컴파일시 /usr/bin/ld: cannot find -lltdl 오류 호스트웨이 2012.07.13 12544
42 [Apache] Image 관련 Log 남기지 않기 호스트웨이 2012.07.13 9705
41 PHP 업로드 파일 용량 제한 설정 호스트웨이 2012.07.06 10042
40 SSL config error 조치사항 호스트웨이 2012.06.29 9631
39 Apache2.4.x 버전 설치 호스트웨이 2012.06.22 23693
38 PHP-5.3 버전 이상에서 Deprecated 에러 발생시 처리 방법 호스트웨이 2012.06.22 14713
37 PHP 속도 향상을 위한 eAccelerator 설치 호스트웨이 2012.06.15 11264
36 ZendOptimizer 3.3.9 설치 file 호스트웨이 2012.06.01 17546
35 웹페이지에 사용자 인증 사용하기 호스트웨이 2012.05.18 8972
34 apache ssl 시작시 오류 메세지 호스트웨이 2012.05.11 10054
33 mod_GeoIP를 이용한 국가 IP 확인 및 국가별 접속 제한 호스트웨이 2012.05.04 19934
32 apache에서 cgi를 사용하기 위한 설정 방법 호스트웨이 2012.04.27 20125
31 Zend Guard Loader 설치 호스트웨이 2012.04.20 17811
30 PHP에서 MS-SQL 서버를 연동하기 위한 방법 호스트웨이 2012.04.13 25303
29 Linux log 분할 방법 (logrotate) 호스트웨이 2012.04.06 12587
28 APM 및 OS 버전 확인 하는 방법 호스트웨이 2012.03.30 13982
27 phpize를 이용하여 모듈 추가 file 호스트웨이 2012.03.15 15582
26 mod_rewrite 모듈 설치 및 기본 사용법 sylee 2009.07.02 38417
25 아파치2 에서 mod_cband 사용법 sylee 2009.06.05 24553
24 register_globals 옵션에 따른 변수 전달 jook 2009.02.19 34709