아래와 같이 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 반환하기

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다