【问题标题】:How to access folder outside of domain path in PHP script? [duplicate]如何在 PHP 脚本中访问域路径之外的文件夹? [复制]
【发布时间】:2020-02-21 18:47:46
【问题描述】:

我正在尝试尽可能安全地设置我的 PHP SQL 脚本。我在这里浏览了各种帖子,尤其是this post

这里建议将 PHP 脚本的配置文件放在 web 可访问空间之外。

问题:如何访问脚本中的文件夹,这超出了 web 可访问的文件夹结构。在此我的意思是在调用脚本的 domain-webspace-directory 之外?

我的 PHP 脚本通过以下方式导入配置:

require_once __DIR__ . $_SERVER['DOCUMENT_ROOT']."/apis/CONFIG/abc-app/file_CONFIG.php";

脚本通过app-abc通过子域调用

https://api.mysubdomain.ru/abc-app/get_all_SQL_data.php

关于webserver文件夹结构,上面的文件位于这里:

/www/htdocs/webhosteraccountid/apis/apis/abc-app/get_all_SQL_data.php

而当我通过 FTP 在最高可访问级别访问我的网站空间时,我在

//apis/apis/abc-app/get_all_SQL_data.php

所以 /api/ 是一级文件夹。

我的子域指的是文件夹

/www/htdocs/webhosteraccountid/apis/apis/

现在回到我的脚本。当我使用

$_SERVER['DOCUMENT_ROOT']

我明白了

/www/htdocs/webhosteraccountid/apis/apis/

所以我的脚本总是失败,因为我从来没有进入比子域访问的文件夹级别更高的文件夹级别。相应地,我从来没有得到真正的服务器根目录,只有子域的根目录。

因此,我的配置所在的文件夹似乎位于 DOCUMENT_ROOT 之外。但是如何定义这样一个文件的路径呢?这可能吗?但如果不是,那么将文件放入不可 Web 访问的文件夹中意味着什么?

感谢您的提示。

【问题讨论】:

  • 你可以使用..上一级
  • 另见thisthis

标签: php security


【解决方案1】:

感谢 cmets。他们成功了。我保留上述示例的解决方案是:

include '../../DB_CONFIG/abc-app_CONFIG.php';

【讨论】:

    猜你喜欢
    • 2021-06-01
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2013-12-30
    相关资源
    最近更新 更多