php - 如何避免 php 进入某个目录?

标签 php linux apache dedicated-server

<分区>

不久前,我升级到专用服务器,为了降低成本,我决定将服务器上的一些空间租给我认识的人( friend 、家人)。我认识的一些人有其他人负责网站开发,我想保护自己免受未经授权的访问我的或我租给的任何其他人。

我最关心的情况之一是 PHP 通过从他们的根访问 ../ 来访问其他用户或我。

例如,他们可以这样做:foreach(glob('../*/*.*') as $some_file){unlink($some_file);} 这将删除兄弟用户的所有文件。

我如何避免人们做这类事情?

最佳答案

这听起来像是可以通过系统管理解决的问题。

  • 编辑 php.ini 文件,限制 open_basedir 中的值
  • 确保将您的用户分配到不同的组
  • 修改您的主目录 og-wx(例如 744、740、700 等...)
  • 运行 apache 服务器的多个实例,可能在不同的用户/组下

这实际上取决于您想投入多少精力以及需要多稳固的安全性。


http://www.php.net/manual/en/ini.core.php#ini.open-basedir http://wiki.apache.org/httpd/RunningMultipleApacheInstances

关于php - 如何避免 php 进入某个目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13505018/

相关文章:

php - 没有从学说查询中获得预期的输出作为获取 mysql native sql 查询,我正在使用学说2-空间扩展

php - 如何在 mysql 和 php 中选择月份?

php - 查询mysql当到达行然后停止?显示队列号

php脚本执行python脚本写入一些文件

php - Yii 非常奇怪的 save() 行为

linux - 我可以在我的域和子域上访问我的子域 URL 路径吗?

linux - 在机架服务器上安装 ubuntu (HP Proliant)

在 "index"的情况下,PHP $_GET 无法获取 RewriteRule 的值

java - apache ftp 客户端(下载器)的标准缓冲区大小

apache - 如何在flume中设置日志文件名