1
wangxingcs 2014-11-24 10:00:04 +08:00
给www,安全些,一般也都这么作,也见过每个网站给个不同权限的,好处是网站出问题后可以通过资源占用直接判断是哪个网站。
|
2
nonozone OP @wangxingcs 但是这样怎么防止跨站呢?
|
3
kungfuchicken 2014-11-24 11:57:25 +08:00
1. apache的话可以考虑 suphp, 每个用户都是用自己的帐号来运行php进程, 互相隔离
2. nginx + php-fpm的话每个用户都用自己的独立的php-fpm进程,进程使用用户帐号和组启动,配置openbase_dir + chroot |
4
lincanbin 2014-11-24 12:29:37 +08:00
给所有vhost都设置open_basedir,设置后每个vhost下的PHP脚本只能访问指定目录的文件。
|
5
extreme 2014-11-24 13:08:14 +08:00
不清楚楼主所说的处于同一目录是什么意思。
那同处在/算不算是在同一个目录? 要别人帮助你解决问题,那就必须说得清楚一点。 是多个网站程序同时放在某个目录,抑或是多个网站分别放在同一个目录中不同的子目录? 还有如何访问?只给网站根目录绑定了域名,访问不同网站时加上子目录名称?抑或不同网站使用不同的域名? |
6
nonozone OP |
7
extreme 2014-11-24 13:37:29 +08:00
@nonozone 应该每个网站都以不同的域名访问吧?让每个网站的PHP都以各自的身份运行就行了。
Apache的用mod_php的可以用mod_itk或mod_ruid2。 FastCGI我没用,不了解。 Nginx With PHP FPM的话,给每个网站都建立一个pool,并且以不同的用户身份启动。 把各网站的文件的所有者更改为PHP执行用户就行了,mod_php的可以给700权限,如果用Apache with FastCGI或PHP FPM,则需要把Apache或Nginx的执行用户加入各PHP执行用户的用户组中,网站文件权限设置为750。 有些地方我不知道如何表达才能让你更好理解,不知道你能不能看明白…… 你可以考虑使用我的Linux KIT: http://linuxk.it/,只要你不乱改文件权限,跨站几乎是不可能事件,推荐在Debian 7使用Linux KIT。 |
8
extreme 2014-11-24 13:40:57 +08:00
@extreme 跨站几乎是不可能的前提是你使用Linux KIT的Shell Script添加站点时给每个站点设置了不同的用户。
|
9
nonozone OP |