问题标签 [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.
apache - PHP - 每个虚拟主机都有一个不同的 open_basedir
我遇到过这个问题,我有一个运行 apache 和 php 的服务器。我们有很多虚拟主机,但我们注意到一个潜在的恶意用户可以使用他的网络空间来浏览其他用户的文件(通过一个简单的 php 脚本)甚至系统文件,这可能是由于 php 权限而发生的。避免它的一种方法是在 php.ini 中设置 open_basedir var,yhis 在单个主机系统中非常简单,但在虚拟主机的情况下,每个主机都会有一个 basebir。
我可以为每个用户/主机设置 dis basedir 吗?有没有办法让apache继承已请求的php文件的php权限
EG /home/X_USER/index.php 作为所有者 X_USER,当 apache 读取文件 index.php 时,它会检查其路径和所有者,只是我正在寻找一个系统设置 php basedir 变量到该路径。
在此先感谢 Lopoc
php - PHP & CodeIgniter 错误:open_basedir 限制生效
我如何安全地解决这个问题?这阻止了我在当前目录之外列出和创建目录。我所说的安全的意思是我不想从配置文件中删除一段代码,并可能让黑客更容易做任何事情。
php - PHP 目录错误 - open_basedir 限制生效
我有一些 PHP 代码可以在设置的目录中创建一个新文件:
它运行良好,并且已经运行了好几年,不幸的是我们刚刚搬到了新服务器上,我现在遇到了这个错误:
有什么建议可以解决这个问题吗?我没有高兴地检查了文件夹(我要上传到的文件夹和 Windows TEMP 文件夹)的权限。我还尝试了对 php.ini 文件,特别是“open_basedir”行的一些调整,但也没有运气。
谢谢
php - 无论如何创建一个供用户开发的php沙箱?
我网站上的一个用户和我将开发一个新的网络应用程序。我想创建一个我们可以在其中工作的文件夹,而不必担心他会在该文件夹之外读取可能会读取配置文件等。
有没有办法创建一个沙盒区域,以防止用户包括该文件夹之外 - 同时仍然保持站点的其余部分相同?
几乎就像那个文件夹的 open_basedir 一样。
php - open_basedir 不会让我写文件,但目录似乎正确?
短篇故事:
我在我的 php 脚本中遇到了 open_basedir 限制 - 一个简单的“将新文件写入磁盘的测试”脚本。在我看来,我的 open_basedir 设置正确并且文件位于正确的位置 - 但没有运气,每次都是同样的错误。我在此站点上搜索了类似的 open_basedir 问题,但我没有看到任何与此问题有关的问题 - 目录看起来正确但仍然抛出错误。
我对问题的猜测是:
1)open_basedir 不能像我认为的那样工作
2)我的设置错误,我只是没有看到它
3)实际上是别的东西,比如 IIS 读/写权限,等
4) ???
很长的故事:
我正在使用 PHP 处理 IIS 服务器,并且正在尝试使以下代码片段正常工作(一个简单的写入文件测试):
这个 php 脚本位于我服务器上的 C:\inetpub\wwwroot\WEBDIRECTORY\test_write.php
这是我对 open_basedir 的 php.ini 设置:
open_basedir = c:\inetpub\wwwroot;c:\inetpub\wwwroot\WEBDIRECTORY
每当我打开脚本页面时,我都希望看不到任何输出,然后当我回来查看时,应该有一个新文件写入服务器。这就是我得到的:
警告:fopen():open_basedir 限制生效。文件(testfile.txt)不在允许的路径内:第 5 行 C:\inetpub\wwwroot\WEBDIRECTORY\test_write.php 中的 (c:\inetpub\wwwroot) 警告:fopen(testfile.txt): failed打开流:第 5 行的 C:\inetpub\wwwroot\WEBDIRECTORY\test_write.php 中不允许的操作无法打开文件
我尝试了很多排列:最初 open_basedir 行只是
open_basedir = c:\inetpub\wwwroot
......但这也不起作用。
我还尝试输入 testfile.txt 的绝对路径(c:\inetpub\wwwroot\WEBDIRECTORY\testfile.txt 等),而不仅仅是文件本身的名称,并且我不断收到相同的错误消息。
有任何想法吗?非常感谢你的帮助。
php - codeigniter 中的 open_basedir 限制错误
我不知道如何解决这个问题:
php - PHP Chmod 问题创建文件
我有以下情况:
public_html - 755
=> 头像 - 777
=> 民意调查 - 755
现在,当我使用以下代码时,我会收到一个错误(警告:file_put_contents(../test.php) [function.file-put-contents]: failed to open stream: Permission denied in XXX):
但是当我使用下面的代码时,它会工作得很好:
(均从 'avatar' 执行,使用 0777)
我该如何解决这个问题?
php - file_exists 带有符号链接的文件?
对于我们的应用程序,我们需要将文件存储在根目录之上,以便流媒体软件可以访问它们。
我成功地创建了一个符号链接:
/var/www/vhosts/myhost.com.au/httpdocs/fileserver/videostream/
至:
/usr/local/媒体服务器/内容/
并且 PHP 将很高兴地处理我的原始视频,该符号链接到根目录上方的真实文件。
但是,如果我尝试
我遇到了各种“open_basedir 限制生效”错误。
有没有解决的办法?或者我是否需要假设我的数据库条目是正确的并且说文件已被处理,它实际上是。
尝试 fopen 会更好还是仍然存在 basedir 限制?
我们位于具有 root 权限的专用主机上,因此我们可以做任何需要的事情。
谢谢。
找到了解决方法,但它不能解决问题:-)
我实际上可以使用 CURL 来拉入实际文件的标题,这让我知道它是否存在。另外一种方法是使用 CURL 检查该文件的流媒体服务器自定义 URL 是否存在。问题解决了,但不是我想要的那样。
zend-framework - Zend -> 警告:is_readable() [function.is-readable]:open_basedir 限制生效
我在我的代码中收到以下警告:
问题是什么,它会在我的应用程序的部署和生产阶段引起问题吗?
谢谢
php - require_once() 被 open_basedir 阻止 - 那么如何使系统安全?
我有一个包含大量重要数据并关心安全性的网站,现在我必须在那里运行一些可能不安全的代码(Joomla)。我想用 open_basedir “封闭”整个目录树,同时我不想隐藏数据库密码 - 所以我想将数据库密码移出 open_basedir 树(以及一些可以连接的功能到数据库,这样调用者自己就不会得到密码)。但是有一个问题——当 open_basedir 运行时 require_once 也不起作用!!!
有什么方法可以设置 open_basedir 并允许 require_once?
有没有其他方法可以调用 open_basedir 有限区域的一些 SECRET php 代码?
请帮忙。提前致谢!