Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php是否包含具有变量名的文件?_Php_File_Cookies_Include - Fatal编程技术网

php是否包含具有变量名的文件?

php是否包含具有变量名的文件?,php,file,cookies,include,Php,File,Cookies,Include,我正在尝试包含来自cookie的文件 假设我的饼干有价值 $file = $_COOKIE['PageValue']; 我想像这样包括这个文件 include '$file'; 有没有办法做到这一点 干杯是的,你写了答案: include $file; // No quotes! 但是,您应该清理输入,最好是列出可能包含的文件的白名单。如需进一步帮助,请发布代码示例,或向我们提供您试图实现的进一步信息 if( file_exists($_SERVER['DOCUMENT_ROOT'].$f

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

假设我的饼干有价值

$file = $_COOKIE['PageValue'];
我想像这样包括这个文件

include '$file';
有没有办法做到这一点


干杯是的,你写了答案:

include $file; // No quotes!
但是,您应该清理输入,最好是列出可能包含的文件的白名单。如需进一步帮助,请发布代码示例,或向我们提供您试图实现的进一步信息

if( file_exists($_SERVER['DOCUMENT_ROOT'].$file){
    include $_SERVER['DOCUMENT_ROOT'].$file; 
}
!!一个非常大的警告!! 这个例子太简单了。始终验证用户输入,尤其是在包含文件时

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

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

您可能需要阅读以下内容:

请参阅手册

 include $_COOKIE['PageValue'];
如果不确定该值是否始终返回有效值,则可能需要添加空检查和约束