本节内容应用于对静态文件目录或可写的目录进行优化设置,通过限制解析/访问权限来避免别恶意攻击,提高安全性。
编辑虚拟主机配置文件:
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<Directory /data/wwwroot/111.com/upload>
php_admin_flag engine off
</Directory>
创建相应的目录:
mkdir /data/wwwroot/111.com/upload
touch /data/wwwroot/111.com/upload/123.php
测试:
curl -x192.168.179.128:80 'http://111.com/upload/123.php'
curl -x192.168.179.128:80 'http://111.com/upload/123.png' -I
说明: 在此访问123.php文件时直接显示源代码,即无法进行PHP解析,访问其他类型的文件没问题。
添加PHP访问限制
添加参数“< FilesMatch (.*)\ .php(. *) > ”:
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<Directory /data/wwwroot/111.com/upload>
php_admin_flag engine off
<FilesMatch (.*)\.php(.*)>
Order Allow,Deny
Deny from all
</FilesMatch>
</Directory>
说明: 如果只设置禁止PHP解析,用户访问PHP文件时会显示源代码,添加该参数可以避免用户看到服务器PHP源码,进一步提升安全性。
测试:
curl -x127.0.0.1:80 111.com/upload/123.php -I
curl -x127.0.0.1:80 111.com/upload/123.png -I
说明: 此时访问123.php的状态码为403,即无法访问!