全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 6976|回复: 21
打印 上一主题 下一主题

[经验] nginx下的php访问权限貌似终于完美解决了

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-23 19:37:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
http://www.sunk.eu.org/viewthrea ... ighlight=%2Bfreebsd

原来发的貌似有问题,但绝不是网上某人说的原因。
nginx在80端口接受到访问请求后,会把请求转发给9000端口的php-cgi进行处理
而如果修改php.ini中open_basedir= ../../../../../ ,针对两个不同的网站,www.a.com , www.b.com都会把请求发送给9000处理,而如果先访问www.a.com那么../../../../../就会变成A网站的根目录地址,然后这时候如果你访问www.b.com,那么open_basedir仍然是A网站的根目录,但是对于B来说,又是不允许访问的,所以就造成了,第二个站点打开以后会出现no input files


真是的,居然不能用,怒了,修改源代码解决,代码清楚的表明 open_basedir 每次请求都是重新计算路径的,会出现所说的问题,是因为php执行的时候经常会改变当前路径,造成最后 ../../../../../ 以后路径不对,而不是请求一次open_basedir就固定了。

修改以后重新编译,非常完美,不用 ../../../这些东西了

演示站点:
http://www.xyhack.net
http://uc.anxsoft.com
http://www.anxsoft.com

不用 ../../../,完美自然的限制住在自己网站的根目录,每个网站不用特别的配置,php不能访问到别的网站目录里
ys.jpg (29.28 KB, 下载次数: 6)

配置情况

phpini.jpg (26.36 KB, 下载次数: 6) 1.jpg (12.57 KB, 下载次数: 6) 2.jpg (16.25 KB, 下载次数: 6) 3.jpg (13.21 KB, 下载次数: 6)

大家看看,如果到明天没什么问题就把修改方法公布

[ 本帖最后由 freebsd 于 2009-11-23 19:40 编辑 ]
22#
发表于 2009-11-24 12:09:11 | 只看该作者
方法呢,没看到
21#
发表于 2009-11-24 11:29:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
20#
 楼主| 发表于 2009-11-24 00:38:47 | 只看该作者

回复 19# 的帖子

chmod o+w files
19#
发表于 2009-11-24 00:03:11 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
18#
发表于 2009-11-23 23:18:39 | 只看该作者

回复 17# 的帖子

8.0 final
17#
 楼主| 发表于 2009-11-23 22:50:19 | 只看该作者
生产版本出来了?

不过也不升级,怕很多软件不兼容,到时候麻烦
16#
发表于 2009-11-23 21:48:16 | 只看该作者

回复 14# 的帖子

提醒楼主更新下系统
15#
发表于 2009-11-23 21:47:56 | 只看该作者

回复 13# 的帖子

刷了好几次页面,暂时没看到无法显示的情况。
14#
发表于 2009-11-23 21:43:02 | 只看该作者
看到楼主ID想起来今天FreeBSD 8出来了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-24 01:58 , Processed in 0.113406 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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