특정 업로드 공간에 웹쉘파일 업로드로 인해 해킹이 일어나지 않도록
해당 공간의 파일들중 php형태는 실행되지 않도록 설정할 수 있다
옵션명 : php_flag engine off
[root@testsrv /opt/apache/htdocs]# mkdir data
[root@testsrv /opt/apache/htdocs/data]# cat test.php
<?php
phpinfo();
?>
[root@testsrv /opt/apache/htdocs/data]#
php파일이 인식되어 정상 호출이 된다
<Directory "/opt/apache/htdocs/data">
AllowOverride None
php_flag engine off
Require all granted
</Directory>
php_flag engine off 옵션을 넣게되면, 해당 경로의 php파일은 인식되지 않는다
단, mime 에 "application/x-httpd-php .php .php3 .php4 .html .htm .inc" 값을 타지 php형식을 인식하지 못해 브라우저에서 다운로드 표시가 나오게된다.
다른 방안
<Directory "/opt/apache/htdocs/data">
AllowOverride None
Require all granted
AddType text/plain .php .php3 .php4 .html .htm .inc
</Directory>
확장자로 지정해서 plain타입으로 하여 php 인식되지 않도록 할 수도 있다
디렉토리명으로 지정해서 제한하는 법
아래처럼 하면 디렉토리명이 data,upload 이면 php인식하지 않는다
<Directory ~ "(data|upload)">
AllowOverride None
Require all granted
AddType text/plain .php .php3 .php4 .html .htm .inc
</Directory>
다른 경로는 호출이 정상처리된다
apache 로 웹서버 구성시, 위와 같이 업로드 공간에 php파일 인식을 되지 않게하면
웹쉘 공격등을 피할 수 있다.