当前位置:首页 » 编程语言 » nginx禁止php

nginx禁止php

发布时间: 2025-06-15 05:55:11

Ⅰ 如何在Apache和Nginx禁止上传目录里php的执行权限

网站程序的上传目录通常是不需要PHP执行解释权限,通过限制目录的PHP执行权限可以提网站的安全性,减少被攻击的机率。

下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限。

在虚拟主机配置文件中增加php_flag engine off指令即可,配置如下

"/website/uploads">,denyAllowfromallphp_flagengineoff

Nginx更简单,直接通过location条件匹配定位后进行权限禁止。

在server配置段中增加如下的配置

如果是单个目录

location~*^/uploads/.*.(php|php5)${denyall; }

如果是多个目录

location~*^/(attachments|uploads)/.*.(php|php5)${denyall;}

注意:这段配置文件一定要放在下面配置的前面才可以生效。

location~.php${ fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; }

最后给一个完整的配置示例

location~/mm/(data|uploads|templets)/*.(php)${ denyall; } location~.php${ try_files$uri/404.html; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; }

配置完后记得重启Nginx生效。

Ⅱ nginx PHP文件不能正常访问.

一般nginx默认配置中会是这个样子的。这里有一个SCRIPT_FILENAME变量,但是fastcgi_params这个文件中是不包含该变量的,改变量的定义实际上是在fastcgi.conf文件中。

实际上可以把配置修改成如下的配置。

location~.php${
root/usr/share/nginx/html;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_intercept_errorson;
includefast_cgi.conf;

#可以增加rewrite,也可以不增加。
}

按如上的配置,如果访问127.0.0.1:9000/a.php,则实际上根据root指令和fast_cgi.conf配置,nginx会通过fast_pass指令访问/usr/share/nginx/html/a.php这个文件。

记得用root指令,指定站点的文档根路径。

热点内容
androidopengl20 发布:2025-06-15 16:38:48 浏览:704
android广告墙 发布:2025-06-15 16:29:30 浏览:208
jsp什么数据库 发布:2025-06-15 16:18:41 浏览:686
亲朋脚本 发布:2025-06-15 15:55:06 浏览:764
xshell如何上传文件 发布:2025-06-15 15:42:18 浏览:353
javaaes加密模式 发布:2025-06-15 15:39:34 浏览:989
数控铣床g代码编程 发布:2025-06-15 15:24:08 浏览:72
外国代理服务器ip地址 发布:2025-06-15 14:45:33 浏览:210
无线路由器与交换机怎么配置 发布:2025-06-15 14:45:21 浏览:376
苹果app密码在哪里查 发布:2025-06-15 14:35:31 浏览:109