【发布时间】:2010-10-20 20:14:15
【问题描述】:
我正在使用查询字符串设置路径变量。
检查路径(始终是目录)是否存在的最简单方法是什么。
if(isset($_GET['p'])) {
define(PATH, $_GET['p']);
所以现在我喜欢 mydomain.com?p=files/folder/sub 并且一切正常,我正在读取文件夹的内容。但是,我可以传递 ?p=shit/whatever 并且我没有得到 404 或类似的东西。系统读取一个甚至不存在的文件夹。
我什至不需要 404,但只想打印('不存在!')或类似的东西。
最好的方法是什么?
【问题讨论】:
-
不要! 这为RFI 呐喊——为此类事情使用白名单
-
那么您将如何使用白名单来做到这一点?
-
创建一个白名单数组,并使用in_array()检查该值是否存在于数组中。