从文件夹加载所有.php文件

时间:2011-04-14 17:17:40

标签: php file ftp root

我正在使用一个函数来加载文件夹中的所有文件,如下所示:

foreach (glob(ROOT ."path/*.app.php") as $file) { 
    $filename = basename($file, '.app.php');
    load_app($filename);
}

现在,我认为这可能有点不安全,而且我很确定我读过一些关于这是邪恶的事情。但考虑到这一点,我最终认为,如果有人可以将文件添加到我的根文件夹,通过FTP访问它,那么我的问题远比仅添加文件更糟糕。不是吗?

为什么我应该避免这种行为?有没有理由这样做?

2 个答案:

答案 0 :(得分:1)

您给出的原因恰恰是使不安全的原因:如果{em}文件放在您的文件夹中(如果是错误的,或者是因为某人)故意把它放在那里),它将被解释。

更安全不包括所有文件 - 但只包含与您知道的文件相对应的固定列表。

答案 1 :(得分:1)

没有固有的安全问题。我只是为了简单和模糊的性能问题而避免使用它。

如果有人能够在根文件夹中添加新文件,他们很可能也能够修改现有文件。所以就像你说的那样,在那种情况下你会遇到更糟糕的问题。 (固定的可包含文件列表因此无论如何都无济于事。)

这是顺便说一句。我用于PHP cron脚本的方法,该脚本在cron.d/文件夹中运行,并带有用于执行的枚举脚本。你的库包括用例有一些不同的目的,但我不能老实地看到任何事实问题。 (表现很可能无法衡量。)