아래와 같이 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) 에러가 떨어진다.
Forbidden 에러를 출력할 때 아파치 기본 설정으로 ServerTokens 설정이 되었을 경우 아파치 버전과 OS 정보가 노출이 되므로
아래와 같이 httpd.conf 설정에서 ServerTokens 값을 Prod로 변경 하길 권장한다.
ServerTokens OS -> 403 에러페이지에서 아파치 버전정보와 OS 정보 노출. 기본 설정값.
ServerTokens Prod -> 아파치만 표기(버전 정보가 출력되지 않는다.)
그리고 기본적(Files 를 설정하지 않은)으로는 서버상에 존재 하지 않는 test.php 파일을 요청 하였을 경우 아래와 같이 404 에러가 떨어진다.