PHP:检查路径是否存在?

4

我正在使用查询字符串设置路径变量。

最简单的方法是如何检查路径(始终为目录)是否存在。


注:path variable指的是路径变量,query-string指的是查询字符串。
    if(isset($_GET['p'])) {
    define(PATH, $_GET['p']);

现在我有一个类似于mydomain.com?p=files/folder/sub的链接,一切正常,我可以读取文件夹中的内容。然而,我可以传递?p=shit/whatever,但我并没有收到404或任何其他错误提示。系统读取了一个甚至不存在的文件夹。

我不需要404,只想打印“不存在!”或类似的内容。

最好的方法是什么?


可能是重复的问题:检查绝对路径和相对路径下的文件是否存在 - Felix Kling
不要这样做!这会引起RFI(远程文件包含攻击)的风险 - 对于此类事情,请使用白名单。 - knittl
那么,你如何使用白名单来实现呢? - matt
创建一个白名单数组,并使用 in_array() 函数检查该值是否存在于数组中。 - Kevin C.
2个回答


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接