首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >open_basedir是否对父文件夹不感兴趣?

问open_basedir是否对父文件夹不感兴趣?
EN

Stack Overflow用户
提问于 2019-08-19 17:29:15
回答 1查看 74关注 0票数 0

我使用带有ini_set函数的open_basedir。我想把它限制在一个特定的目录中,如下所示

代码语言:javascript
复制
__DIR__ . '/my_directory';

所以它是这样工作的!我不能将父文件夹包含在此包含中

代码语言:javascript
复制
include "../parent/my_file.php";

但如果我用这个

代码语言:javascript
复制
include include __DIR__ . '../parent/my_file.php';

尽管我的open_basedir处于活动状态,但我仍然可以访问父文件夹。

当我获得所有包含的文件时,我可以看到我的父文件夹包含如下所示:

代码语言:javascript
复制
"/my_directory/../parent/my_file.php

因此,我认为PHP将它们理解为一个文件夹,而没有看到它是父文件夹。我说的对吗?

你知道有没有解决这个问题的办法?因为我需要将包含限制到我的特定文件夹,并且我不想在层次结构中更高。

PS。我是个新手。我希望这是可以理解的!提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-19 17:57:23

即使在PHP中指定open_base_dir,如果启用了一些命令(如system() ),也可以绕过这些命令。

您应该确保您的Apache (或其他user服务器)配置也将用户限制到某个根目录。

共享Linux主机账户的默认open_basedir限制没有价值。PHP脚本可以访问您的托管帐户中的所有目录。

如果你的apache配置有:php_admin_value open_basedir "/var/www/vhosts/httpdocs",那么这将覆盖你的php设置。

请创建一个文件来检查phpinfo,并验证其中的设置:

代码语言:javascript
复制
<?php
phpinfo();
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57553937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档