nginx中怎么禁止目录PHP执行权限

LNMP环境下目录权限设置上不如Apache,有时网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险。
建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误。
如何把lnmp环境下去掉指定目录的PHP执行权限。 首先,编辑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.111cn.net;
index index.html index.htm index.php;
root /home/wwwroot/w123;
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;
}

时间: 2024-07-30 18:50:45

nginx中怎么禁止目录PHP执行权限的相关文章

nginx设置上传目录无执行权限的方法_nginx

nginx上也很简单,我们使用location..如下: 复制代码 代码如下: location ~ ^/upload/.*\.(php|php5)$ { deny all; } 其中upload换为你要设置的目录名字 这条规则的含义是匹配请求连接中开头是/upload/,中间匹配任意字符,结尾匹配.php或者.php5的页面,最后利用deny all禁止访问,这样就防止了上传目录的脚本执行权限

nginx与Apache禁止目录执行php文件权限

服务器配置过程中,经常需要对指定的目录进行权限配置,比如上传目录,是属于不安全目录,我们需要禁止其执行php脚本的权限,nginx与apache禁止目录执行php文件权限方法如下: Nginx禁止目录执行php文件权限 以下配置均在nginx配置的server处添加  代码如下 复制代码 location ~ /attachments/.*.(php|php5)?$ { deny all; } 禁止attachments目录执行php文件权限 2.多个目录  代码如下 复制代码 location

apache nginx设置目录无执行权限的方法

apache nginx设置目录无执行权限的方法web服务有iis,apache,nginx,使用操作系统无非是windows or *nux    代码如下 复制代码 location ~ ^/upload/.*.(php教程|php5)$ { deny all; } 来看俩段通常对上传目录设置无权限的列子,配置如下:  代码如下 复制代码 <directory "/var/111cn.net/upload"> <filesmatch ".php"

Windows服务器IIS中设置站点或目录的执行权限

IIS站点属性的"主目录"选项卡下,有一个执行权限的设置.站点或目录的执行权限应该如何设置? IIS中执行权限 IIS中的执行权限有如下三种: 1.无权限 无权限是指不能执行动态脚本程序.说得更明白一点就是像asp.php.asp.net.jsp等均不能执行,只有像html这样的页面可以通过IIS来访问. 2.纯脚本 像ASP.PHP.JSP等服务器端脚本程序需要开启纯脚本权限. 3.纯脚本和应用程序 除了可以执行脚本之外还可以执行可执行文件.你有没有遇到一个网页的后缀是.dll?经常

Nginx多站点如何正确限制目录php执行权限配置

今天看了朋友一台服务器里上传目录是这么配置的: [root@Centos62 ~]#chomd -R -x upload 把我吓坏了,我说:"你平时都是这么干的吗?" 朋友:"对啊!把x执行权限取消了,你放什么木马进来,都没办法执行啊!" 0×01 到底哪里不对 分析一下 到底哪里不对,我搜索引擎了一下:linux chmod 文件夹 结果得到的信息是:linux中,chmod的x属性,针对文件跟针对文件夹是不一样的. 这里有个表 给大家看看 由上表(截图来自兄弟连

lnmp取消nginx目录PHP执行权限

  首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加: 1.单个目录去掉PHP执行权限 location ~ /attachments/.*.(php|php5)?$ { deny all; } 将attachments目录的PHP执行权限去掉. 2.多个目录去掉PHP执行权限 location ~ /(attachments|upload)/.*.(php|php5)?$ { deny all; } 将attachments.upload这二个目

Nginx中php-fpm进程目录权限防跨站配置

Nginx下开多个虚拟机网站防跨站是首要的任务,PHP5.3之前的版本不支持open_basedir,只能通过控制PHP-cgi进程及目录用户权限进行限制,防止跨站访问. 先了解一下网站正常运行所用到的用户.目录权限: Nginx进程运行用户:接收用户请求,处理静态文件,如果是PHP则转给PHP-CGI处理,网站目录拥有读权限. PHP-cgi进程用户:处理PHP文件,网站目录拥有读权限,个别目录需要写入权限. 让每个网站使用单独的PHP-CGI进程,创建PHP-FPM配置文件,修改以下:  

iis与apache取消目录脚本执行权限方法

打开IIS中站点,在站点uploads目录.data目录以及静态html生成目录点击右键,菜单中选择"属性",在目录属性面板选择执行权限为"无"即可.(如图1) (图1)   IIS7也类似于IIS6.0,选择站点对应的目录,data.uploads及静态html文件目录,双击功能试图面板中的"处理程序映射"(如图2) (图2) 在"编辑功能权限--"中,我们直接去除脚本的执行权限即可.(如图3) (图3)   在Apache

Apache与Nginx环境下禁止目录运行PHP脚本

如果上传目录被植入 PHP 文件,即可远程执行.为了安全起见,我们一般会对上传目录禁止运行 PHP 脚本. 在 Apache 下面我们可以通过一下方法来禁止运行 PHP 脚本: <Directory /wp-content/uploads>  php_flag engine off  </Directory>   Nginx 方法如下: location /wp-content/uploads/ {   location ~ .*\.(php)?$ {   deny all;