【问题标题】:Any downsides or security risks with set_include_path?set_include_path 有什么缺点或安全风险吗?
【发布时间】:2011-11-07 21:00:29
【问题描述】:

好的,首先 - 我沉迷于对所有内容使用根相对链接结构。包含在 php 中对我来说总是很困难,但我碰巧有一行代码可以让我相对于 root 包含。

其实很简单:

set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] );

这是来自 php 手册中的评论

我有一个非常简单的 php 站点,但有许多不同的子目录,这使它易于使用。另外 - 该公司可能很快会切换服务器,我认为这可能会缓解许多网站的过渡。

那么这里有安全风险吗?我不动态包含文件或远程包含它们。我是否在每个 php 文件的顶部都受到了性能影响?还是可以忽略不计?

【问题讨论】:

    标签: php include include-path


    【解决方案1】:

    只要您控制了include_path 中的内容,就不存在安全风险。

    但是,如果您的 include_path 中有太多路径,则会影响性能(因为 PHP 必须在找到文件之前尝试每个路径)。

    【讨论】:

    • 如果你必须向包含路径添加很多路径,请将最常见的路径放在最前面,因为它会按顺序搜索路径。
    【解决方案2】:

    鉴于您的代码,docroot 位于 include_path 的末尾,因此只有在 include_path 的其余部分中找不到包含的文件(即丢失的文件)时,您才会看到性能下降.

    【讨论】:

      猜你喜欢
      • 2017-09-24
      • 1970-01-01
      • 2011-12-30
      • 2017-06-17
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      相关资源
      最近更新 更多