0

我正在尝试包含来自 cookie 的文件

说我的 cookie 有价值

$file = $_COOKIE['PageValue'];

我想像这样包含这个文件

include '$file';

有没有办法做到这一点?

干杯

4

3 回答 3

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

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

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

这是一个脆弱的部分,XSS 指日可待。

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

于 2013-06-25T14:48:13.533 回答
0

请参阅此链接:来自手册

 include $_COOKIE['PageValue'];

如果您不确定该值是否总是返回有效值,您可能需要添加空检查和约束

于 2013-06-25T14:51:12.530 回答
-1

是的,你写了答案:

include $file; // No quotes!

但是,您应该清理您的输入,最好将可能包含的文件列入白名单。如需进一步帮助,请发布您的代码示例,或向我们提供更多信息,您正在尝试完成什么。

于 2013-06-25T14:48:12.787 回答