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

Apache下禁止指定目录运行PHP脚本

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

 Options FollowSymLinks
 AllowOverride None
 Order allow,deny
 Allow from all
 php_flag engine off

另外一种方法,是设置在htaccess里面的,这个方法比较灵活一点,针对那些没有apapche安全操作权限的网站管理员:
Apache环境规则内容如下:Apache执行php脚本限制 把这些规则添加到.htaccess文件中
代码如下:

RewriteEngine on RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php)$ –[F]

Nginx下禁止指定目录运行PHP脚本

Nginx更简单,直接通过location条件匹配定位后进行权限禁止,可在server配置段中增加如下的配置。

如果是单个目录:

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

如果是多个目录:

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

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

location ~ \.php$ {
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include    fastcgi_params;
}

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

location ~ /mm/(data|uploads|templets)/*.(php)$ {
 deny all;
}

location ~ .php$ {
 try_files $uri /404.html;
 fastcgi_pass  127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include    fastcgi_params;
}

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索nginx
, apache
, 禁止执行PHP
禁止执行
nginx禁止目录执行php、nginx 禁止执行php、nginx执行shell 权限、apache 执行权限、nginx apache,以便于您获取更多的相关知识。

时间: 2024-10-06 08:25:11

如何在Apache和Nginx禁止上传目录里PHP的执行权限_Linux的相关文章

apache+tomcat,如何禁止执行上传目录 里面的jsp文件。

问题描述 apache+tomcat,如何禁止执行上传目录里面的jsp文件.上传目录不在web-inf下面.要求不动代码,只能改配置..谢谢. 解决方案 解决方案二:可以在你WEB应用的web.xml文件中配置如下:<security-constraint><web-resource-collection><web-resource-name>ProtectedArea</web-resource-name><url-pattern>/downl

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

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

nginx上传目录配置,禁止执行权限

如果不让有执行权限最简单的办法  代码如下 复制代码 location ~ ^/upload/.*.(php|php5)$ { deny all; } 上面的方法满足不了我要求,后来找到一个不错的脚本  代码如下 复制代码 server         {                 listen       80;                 server_name xxxx.com;                 index index.html index.htm index.p

lnmp中禁止nginx上传目录的PHP执行权限方法

建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误.下面VPS侦探详细介绍如何把lnmp环境下去掉指定目录的PHP执行权限. 首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加: 1.单个目录去掉PHP执行权限  代码如下 复制代码 location ~ /attachments/.*.(php|php5)?$ { deny all; } 将attachments目录的PHP执行权限去掉. 2.多个目录去掉PHP执行权限

iis、apache与nginx禁止目录执行asp、php脚本的实现方法_Linux

一般iis中比较简单,iis6如下图所示即可: 在"编辑功能权限--"中,我们直接去除脚本的执行权限即可.(如图3) apache中一般是通过.htaccess文件来限制 Apache环境规则内容如下:Apache执行php脚本限制 把这些规则添加到.htaccess文件中 复制代码 代码如下: RewriteEngine on RewriteCond % !^$ RewriteRule uploads/(.*).(php)$ – [F] RewriteRule data/(.*).(

new-net2.0 为何在IIS7.0下显示上传不成功 但在IIS6.0下正常

问题描述 net2.0 为何在IIS7.0下显示上传不成功 但在IIS6.0下正常 protected void upload_Click(object sender, EventArgs e) { string text = this.Session["port"].ToString(); string path = "~/Room_JS/" + text + "/tp/gb/"; bool flag = false; string str =

怎么用php写禁止上传exe文件格式

问题描述 怎么用php写禁止上传exe文件格式 怎么用php写禁止上传exe文件格式,写出代码,最好写完整点 解决方案 $not_allowed = array('php' 'php5' 'exe');if(in_array($extension $not_allowed)){ echo 'File not allowed';}else{ echo 'File allowed';} 解决方案二: 一个是判断后缀名是否有exe一个是判断文件开头两个字符是不是MZ 解决方案三: 文件都有mime_t

nginx修改上传文件大小限制的方法_nginx

新装了一台服务器,用nginx做代理.突然发现上传超过1M大的客户端文件无法正常上传,于是修改了下nginx的配置. cd /export/servers/nginx/conf/nginx.conf,在这个配置文件里面的server段里面的 location / { root html; index index.html index.htm; client_max_body_size 1000m; } 加上了client_max_body_size    字段,怎么重启都不行.后来在总配置文件里

解决nginx + lua 上传文件问题

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/49509123 未经博主允许不得转载. 博主地址是:http://blog.csdn.net/freewebsys 1,首先不能创建upload对象 直接报错 failed to new upload: request body already exists 参考这个博客: http://my.oschina.net/timingbob/blog/164231 就是request