在Nginx下做如下设置:
(注:加在站点配置文件内,必须在fastcgi的location语句的前面添加,因为加载有顺序要求的,另外正则的匹配优于非正则)
1、单个目录
location ~ /attachments/.*\.(php|php5)?$ {
deny all;
}
将attachments目录的PHP执行权限去掉。
2、多个目录
location ~ /(attachments|upload)/.*\.(php|php5)?$ {
deny all;
}
将attachments、upload这二个目录的PHP执行权限去掉。 添加完执行:/usr/local/nginx/sbin/nginx -t测试配置文件,执行:/usr/local/nginx/sbin/nginx -s reload 载入配置文件使其生效。
在Apache下做如下设置:
以Apache 模块方式运行 PHP
<Directory /www/www.example.com/upload>
php_flag engine off
</Directory>
<Directory ~ "^/www/.*/upload">
<Files ~ ".php">
Order allow,deny
Deny from all
</Files>
</Directory>