php包含一个具有变量名的文件


php include a file with a variable name?

我正试图从cookie 中包含一个文件

说我的饼干有价值

$file = $_COOKIE['PageValue'];

我想像这个一样包含这个文件

include '$file';

有办法做到这一点吗?

欢呼

if( file_exists($_SERVER['DOCUMENT_ROOT'].$file){
    include $_SERVER['DOCUMENT_ROOT'].$file; 
}

一个非常大的警告!!这个例子太简单了。始终验证用户输入,尤其是在包含文件时。

好的做法是检查$file是否在具有允许的$files的数组中,或者可能检查数据库。

这是一个脆弱的部分,XSS就在拐角处。

您可能想阅读以下内容:http://en.wikipedia.org/wiki/File_inclusion_vulnerability

查看此链接:来自手动

 include $_COOKIE['PageValue'];

如果您不确定该值是否总是返回有效值

,则可能需要添加null检查和约束

是的,你写了答案:

include $file; // No quotes!

但是,你应该净化你的输入,最好做一个可能包括的文件白名单。要获得进一步的帮助,请发布您的代码示例,或者向我们提供您想要实现的进一步信息。