apache 서버로 파일서버 운영하면서
업로드 디렉토리에 원치 않는 php, html 등과 같은 실행파일이 올라가는 경우가 있다
이럴 경우,
특정 디렉토리를 제외한 모든 업로드 디렉토리에서 php가 실행 되지 않게 해야 할 경우
"php_admin_flag engine off"
를 이용해 주면 된다.
이 옵션을 httpd.conf에 설정해 여러 vhost에 동일하게 적용할 수 있다.
또는 특정 VirtualHost 부분에만 추가해서 적용도 가능하다.
<Directory "/home/제한할디렉토리/">
<FilesMatch "\.(html|php|php3)$">
php_admin_flag engine off
</FilesMatch>
</Directory>
php 코드가 실행되지 않게 하려면 위와 같은 코드를 httpd.conf에 추가해 주면 된다.
이때, 특정 디렉토리는 php 실행을 허용해야 한다면,
<Directory "/home/허용할디렉토리/">
<FilesMatch "\.(html|php|php3)$">
php_admin_flag engine on
</FilesMatch>
</Directory>
와 같이 해주면 된다.
위 설정은
- apache2.4
- php 5.6
환경에서 적용한 방법이다.