今天在处理一dedecms的安全配置的时候,涉及了nginx配置文件的设置,当然apache就比较简单了,下面就nginx简单说下设置步骤:
首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加:
1、单个目录去掉PHP执行权限
- location ~ /attachments/.*\.(php|php5)?$ {
- deny all;
- }
将attachments目录的PHP执行权限去掉。
2、多个目录去掉PHP执行权限
- location ~ /(attachments|upload)/.*\.(php|php5)?$ {
- deny all;
- }
将attachments、upload这二个目录的PHP执行权限去掉。
附上一个完整的虚拟主机的例子供参考:
- server
- {
- listen 80;
- server_name www.xker.com;
- index index.html index.htm index.php;
- root /home/wwwroot/bbs.vpser.net;include discuz.conf;
- location ~ /(attachments|upload)/.*\.(php|php5)?$ {
- deny all;
- }
- location ~ .*\.(php|php5)?$
- {
- fastcgi_pass unix:/tmp/php-cgi.sock;
- fastcgi_index index.php;
- include fcgi.conf;
- }
- access_log off;
- }
添加完执行:/usr/local/nginx/sbin/nginx -t测试配置文件,执行:/usr/local/nginx/sbin/nginx -s reload 载入配置文件使其生效。
php技术开发友情提示:注意顺序,一定要放在 “location ~ .*\.(php|php5)?$” 一行上面,不然不会生效。