set_include_path有任何缺点或安全风险吗?

时间:2011-08-31 18:40:46

标签: php include include-path

好的,首先 - 我沉迷于使用根相对链接结构。包含在php中总是让我感到困难,但我遇到了一行代码,让我包含了root-relative。

这很简单:

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

这是来自php手册中的评论

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

这里存在安全风险吗?我不动态包含文件或远程包含它们。我是否在每个php文件的顶部都有一个性能命中?还是可以忽略不计?

2 个答案:

答案 0 :(得分:1)

只要您控制了include_path中的内容,就没有安全风险。

如果include_path中的路径太多(因为PHP在查找文件之前必须尝试每个路径),会有性能损失。

答案 1 :(得分:0)

鉴于您的代码,docroot位于include_path的末尾,所以只有在include_path的其余部分找不到包含文件时才会看到性能损失(即丢失的文件)。