问题标签 [open-basedir]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
302 浏览

security - open_basedir 你能信任多少呢?

我有一个来自 godaddy 的 VPS,上面有 3 个站点。其中 1 是我的主要主题,我在代码中采取了一切预防措施(100% 手工制作)来保护它(PHP/Mysql/Javascript)并让它顺利运行。

现在我们第一次将其他 2 个帐户中的一个提供给第 3 方来制作网站。我不知道/不信任他们,所以我想尽可能地保护我的安全,这意味着我想完全切断对我帐户的文件系统/php 等的访问

我在 apache 中内置了 mod_security 和 suPHP,但是当我将 PHP 5 处理程序从dso 转换为 suphp(Apache suEXEC 已打开)时,一个文件夹的 htacess 出现故障并且无法正常工作,导致找不到文件。我读到了我必须在 htaccess 文件中进行的一些修改,还修复了文件的权限(我倾向于将 777 分配给包含用户上传的文件夹 - 比如照片、文档,每个人都可以看到,所以没问题 - 除了我之外,我不想要任何人删除它们)导致据称 777 个文件夹/文件将触发错误。

所以不想进入那个过程,发现了 WHM>Security Center>Security Center> PHP open_basedir Tweak,它指出“ PHP 的 open_basedir 保护阻止用户使用 php 打开其主目录之外的文件

这够了吗?我的意思是它只会阻止打开我的文件?它会保护我免受有人试图将他自己的恶意 php 文件复制到我的目录然后运行它来制造混乱吗?

我在这方面有点新(我第一次遇到这个问题),并希望从您的经验中得到一些反馈

0 投票
1 回答
1980 浏览

php - 为什么在 IIS 上使用 open_basedir 和 PHP 作为 FastCGI?

我已经看过一些解释 IIS 下 PHP 安装的教程,因为 FastCGI 建议将 open_basedir 设置为指向网站内容所在的文件夹或网络路径。

当我在我的应用服务器上设置 open_basedir 时,管理文件时出现以下错误:警告:open_basedir 限制生效。文件(C:\Windows\Temp\php92E7.tmp)不在允许的路径内:(C:\inetpub\wwwroot)

我知道我可以在 inetpub 下设置一个临时目录,但我不明白为什么使用 windows\temp 会出现问题。

PHP 作为 IIS 上的 FastCGI 是否存在任何安全漏洞,需要 open_basedir 限制?如果不是,为什么推荐它?还是没有必要?是否可以使用具有正确权限的 AppPool Identity 获得 open_basedir 优势?

0 投票
1 回答
4290 浏览

php - open_basedir,File() 不在允许的路径内

我在安装在 Media Temple DV 上的 Laravel 遇到问题:

这是给出此问题的代码:

我在想这可能是一个权限问题,但我真的不太确定。

0 投票
0 回答
716 浏览

php - Humhub 注册错误

我已经在一个共享的虚拟主机上安装了humhub。当我尝试注册为新用户时,出现以下错误:

我无法访问 htaccess 文件夹之外的文件。任何想法如何解决这个问题?

github上已经有关于该主题的讨论,但是它对我没有多大帮助。 https://github.com/humhub/humhub/issues/129#issuecomment-60216954

感谢您的回答

0 投票
0 回答
797 浏览

php - 在 php 中设置 open_basedir 时未指定输入文件

我的服务器的目录结构

当我设置open_basedir= "/home/server/public_html/files"时,www.domain.com/maindata 的输出是

如何解决这个问题?

0 投票
2 回答
7376 浏览

nginx - phpmyadmin 抱怨权限和 open_basedir - 但它们看起来都是正确的

phpmyadmin 已经安装好几个月了,通过这个 repo 安装:

deb http://ppa.launchpad.net/tuxpoldo/phpmyadmin/ubuntu utopic main

突然,我无法登录;没有页内错误,但日志显示:

所以,我检查了:

我按照这个 SO answer并更改了用户和组权限以匹配示例(用户:root,组:www-data)并更改目录权限以匹配。

我检查了两次,三次检查是否没有有效的 open-basedir 限制,我检查了 phpinfo()
我尝试将权限更改为 fpm 工作池的权限。
我重新启动。
我做了一个sudo apt-get install --reinstall phpmyadmin.

我在这之间做的唯一一件事就是按照本指南安装 freePBX,无论如何,它想要的 90% 都在我的机器上;只安装了 sqlite 之类的东西,我什至不能确定是它停止了它的工作。远射,但也许值得一提。

其他一切,所有其他网站等都运行良好。在我失去比过去 5 小时更多的头发之前,我真的很感激一些想法。谢谢!

0 投票
0 回答
2560 浏览

security - nginx 和 php5-fpm open_basedir 限制有效我是否受到攻击?

我在 Ubuntu 13.10 nginx 和 php5-fpm 下的 VPS 上运行应用程序,网络服务器已按照最佳安全实践进行了非常仔细的设置。该应用程序经过编写和测试以避免任何形式的注入,用户输入数据被过滤,并且不允许他们上传文件,也没有应用程序中的上传表单,因此即使服务器仅配置了强限制和权限对于阅读的用户,还设置了一个 PHP 指令open_basedir以加强安全性,默认值为:

事情进展顺利,但我一直在看 php-fpm 日志文件,经常看到以下错误:

编辑File upload error:从日志文件中添加了缺失的信息:

我怀疑这是从哪里来的?错误没有指向文件名,也没有请求 IP 等详细信息,

我的应用程序或服务器是否遭到入侵?或其他人伪造上传表单并尝试将文件上传到服务器,AFAIK 不可能,因为我已经检查过了,并且计算机文件系统中没有任何文件被修改。

由于我非常关心服务器安全性,我无法弄清楚!有人遇到过这个问题吗?

0 投票
1 回答
511 浏览

php - 我的 open_basedir 路径应该设置为什么?

我有一个网站,使用多站点 WordPress 设置构建。

我在网上遇到了以下建议:

最好强制使用基本目录(例如:“/var/www/”)以防止 PHP 访问文件系统中的其他目录。

我应该设置什么路径?

  1. 主页/我的网站/
  2. 主页/mysite/public_html
  3. 主页/mysite/public_html/something-else

编辑:为了更准确的上下文,我正在通过 WHM 配置 open_basedir 来管理 VPS 上的多个网站。

0 投票
1 回答
1641 浏览

php - open_basedir 限制有效,但目录*在 php.ini 中指定*

我在带有 IIS7 和 FastCGI 的 Windows Server 2008 上运行 php 5.5.12。

这是我收到的日志错误之一:

这是我的open_basedir台词php.ini

如您所见,目标目录实际上是在 中指定的open_basedir,但它的行为就好像它受到限制一样。

注释掉open_basedir并重新启动 IIS 不会导致任何错误,并且一切都按预期工作。

将目标目录更改为其他打开的目录之一(C:\Windows\TEMP例如)也可以正常工作,没有错误。

我在这里阅读了八页的问题,但还没有看到匹配。提前感谢您提供的任何帮助!

0 投票
0 回答
222 浏览

php - 我可以将 PHP 的 open_basedir 应用于套接字路径吗?

PHP手册指出:

open_basedir(字符串)

将 PHP 可以访问的文件限制在指定的目录树中,包括文件本身。该指令不受安全模式是打开还是关闭的影响。

当脚本尝试访问文件系统时,例如使用 include 或 fopen(),会检查文件的位置。当文件在指定的目录树之外时,PHP 将拒绝访问它。

还有,再远一点...

open_basedir 不仅可以影响文件系统功能;例如,如果 MySQL 配置为使用 mysqlnd 驱动程序,则 LOAD DATA INFILE 将受到 open_basedir 的影响。PHP 的许多扩展功能都以这种方式使用 open_basedir。

然而,这个限制似乎并没有达到套接字操作。在我的服务器上,即使我设置open_basedir/home:/tmp,我仍然可以/run通过该socket_connect函数访问下面的套接字文件(请注意,我没有将/var/run( ) 移动到or/run下的某个扭曲位置)。/home/tmp

有没有办法扩展open_basedir的限制以包含套接字文件* 路径,这样就不可能在/homeand之外打开套接字文件/tmp

* 我知道套接字文件并不是真正“打开”的,而是通过socket_connect函数和bind系统调用“绑定到”的。但是,因为open_basedir似乎适用于非文件系统功能......我猜可能有一种方法。