아래와 같이 httpd.conf 설정에 Files 구문을 지정하여 php 확장자 접근 차단.

 

<VirtualHost *:80>

    DocumentRoot /home/my-blog

    ServerName www.mapoo.net

    ErrorLog logs/www.mapoo.net-error_log

    CustomLog logs/www.mapoo.net-access_log common

<Directory "/home/my-blog/">

  Options FollowSymLinks

  AllowOverride FileInfo

#  Order Allow,Deny

#  Allow from all

</Directory>

<Files ~ ".php$">           -> 확장자가 php인 파일을 요청하면 접근 거부

Order Deny,Allow

Deny from all

Allow from 192.168.0.250  -> 특정 클라이언트는 접근 허용

</Files>

</VirtualHost>

 

위와 같이 설정 하고 서버상에 존재 하지 않는 test.php 파일을 요청 하였을 경우 아래와 같이 Forbidden(403) 에러가 떨어진다.

forbiden

 

Forbidden 에러를 출력할 때 아파치 기본 설정으로 ServerTokens 설정이 되었을 경우 아파치 버전과 OS 정보가 노출이 되므로

아래와 같이 httpd.conf 설정에서 ServerTokens 값을 Prod로 변경 하길 권장한다.

ServerTokens OS -> 403 에러페이지에서 아파치 버전정보와 OS 정보 노출. 기본 설정값.

ServerTokens Prod -> 아파치만 표기(버전 정보가 출력되지 않는다.)

 

그리고 기본적(Files 를 설정하지 않은)으로는 서버상에 존재 하지 않는 test.php 파일을 요청 하였을 경우 아래와 같이 404 에러가 떨어진다.

404error

특정 확장자 파일 접근 Forbidden 반환하기

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다