您的位置:首页 > 运维架构 > Nginx

上任后第一贴--Nginx安全配置

2010-12-13 22:01 453 查看
做过虚拟主机的都知道,Apache有一个很好用的地方---配置php_admin_value,在里面配置一下open_basedir就可以了,但是Nginx却没有这样的设置,但是没有设置这项,一旦某用户上传了一个phpspy之类的东西,其他用户数据就遭殃了,今天就来解决这样的问题,怎么样让用户无法旁注。

首先,需要在php.ini 设置open_basedir的值,比如网站目录全部在 /data/web/ 下面,例如 /data/web/xxx.com/ 下面是xxx.com网站 那么我可以设置 open_basedir="/data/web/:/tmp/" (注意,/tmp 必须设置,否则影响上传文件,如果你设置了 upload_tmp_dir ,那么把/tmp设置成 upload_tmp_dir 的值)

然后执行
# chmod 755 -R /data/web/
# chmod 711 /data/web/

这时,网站依然能访问,可是你试试上传一个phpspy,看看还能列 /data/web/的目录么?

但是问题又来了,如果说/data/web/下目录命名非常有规律,很容易被猜解到,直接输入 /data/web/xxx.com 就可以列别人的目录,别急,还有办法,把 /data/web/xxx.com 重命名为复杂的名字,比如 /data/web/xxx.com_2a8b4c76 再把display_errors 关闭,看看他还怎么猜你的目录:lol:

原创内容,转载请注明出处:http://bbs.phpchina.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: