不久前我升级到专用服务器,为了让我的成本更高,我决定在服务器上向我认识的人(朋友,家人)租用一些空间。我认识的一些人有一些负责网站开发的人,我想保护自己免受未经授权访问我或我租给的任何其他人。
最让我担忧的一个案例是PHP通过从根目录访问../
来访问其他用户或我。
例如,他们可以执行以下操作: foreach(glob('../*/*.*') as $some_file){unlink($some_file);}
,这将删除兄弟用户的所有文件。
如何避免人们做这类事情?
答案 0 :(得分:2)
这听起来像是一个可以通过系统管理解决的问题。
这实际上取决于您希望投入多少精力以及安全性需要多强大。
http://www.php.net/manual/en/ini.core.php#ini.open-basedir http://wiki.apache.org/httpd/RunningMultipleApacheInstances
答案 1 :(得分:0)
你应该考虑dctrucker发布权限,并确保apache进程,如果你运行php与mod_php或php进程,如果你在fast-cgi上运行它没有权限更改权限。如果安全性是您关注的话,我不建议使用base_opendir方法,因为那时可以使用ini_set来覆盖它(因此如果使用该方法,您也应该禁用ini_set)。