全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: 6700

[已解决] Nginx怎么禁止对某个文件夹下的php文件解析?

[复制链接]
 楼主| 发表于 2010-2-9 12:58:53 | 显示全部楼层
试过了没用的……
location ~ ^/sys/.*\.php$
   {
     deny    all;
   }
这样应该sys目录下的也不能访问对吧? 但照样能……
每次更改设置都是kill过的……所以也不存在没有重启的问题……
发表于 2010-2-9 13:14:21 | 显示全部楼层
这个写法 做后的效果是 访问其目录下的 php 会返回403
其他正常 我在家里 用win版的nginx 测试正常的
 楼主| 发表于 2010-2-9 14:00:27 | 显示全部楼层
linux下无效……
看来这个是解决不了了……
发表于 2010-2-9 15:16:37 | 显示全部楼层
这是我的方法:
location ^~ /你的目录
{
    break;
}
这个目录下,包括子目录,所有的php文件都是直接下载,不会被执行的

评分

参与人数 1威望 +30 收起 理由
cpuer + 30 感谢分享

查看全部评分

 楼主| 发表于 2010-2-9 15:50:38 | 显示全部楼层
感谢!测试有效啊~ bz加个分吧~
发表于 2010-2-9 23:51:04 | 显示全部楼层

回复 15# 的帖子

楼主终于成功了
发表于 2010-2-10 00:12:00 | 显示全部楼层
原帖由 6700 于 2010-2-9 12:58 发表
试过了没用的……
location ~ ^/sys/.*\.php$
   {
     deny    all;
   }
这样应该sys目录下的也不能访问对吧? 但照样能……
每次更改设置都是kill过的……所以也不存在没有重启的问题…… ...


这个看先后顺序的,你要把这部分放在解析php的那个前面
 楼主| 发表于 2010-2-10 00:21:38 | 显示全部楼层
也就是说要放到这个server的上一级server?
或者是放到events或http里?
发表于 2010-2-10 00:25:32 | 显示全部楼层
原帖由 6700 于 2010-2-10 00:21 发表
也就是说要放到这个server的上一级server?
或者是放到events或http里?


                location ~* ^/(sys)/(.*)\.(php|php5)?$
                {
                        deny all;
                }
                #support php
                        location ~* .*\.(php|php5)?$
                        {
                           include fcgi.conf;      
                           fastcgi_pass  127.0.0.1:9000;
                           fastcgi_index index.php;
                        }

放在 php解析的前面,nginx的规则,多条顺序同样是正则的匹配的话,如果前面一条匹配,就不会去匹配下面一条了
发表于 2010-2-10 00:29:17 | 显示全部楼层

回复 19# 的帖子

受教了 呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-12 06:30 , Processed in 0.061354 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表