Php 本地文件包含?如何修补此问题

Php 本地文件包含?如何修补此问题,php,security,Php,Security,我正在尝试将我的php fusion修补到一个新漏洞。但我不完全在脆弱之下 请先看这里: 我知道本地文件包含是什么,但是仅仅设置一个get变量如何使它进入显示的代码段,它甚至没有使用get变量 多亏有人清理了这件事。我想修补这个,如果有什么需要修补的话 这是因为PHP中的地狱设置 启用该选项后,可以使用代码中的名称直接访问get变量。在哪里 $_GET['somevar'] 也是 $somevar; 它可能没有设置在您的服务器上(实际上不应该设置),因此您可能不会受到此攻击。但是,如果它被

我正在尝试将我的php fusion修补到一个新漏洞。但我不完全在脆弱之下

请先看这里:

我知道本地文件包含是什么,但是仅仅设置一个get变量如何使它进入显示的代码段,它甚至没有使用get变量

多亏有人清理了这件事。我想修补这个,如果有什么需要修补的话

这是因为PHP中的地狱设置

启用该选项后,可以使用代码中的名称直接访问get变量。在哪里

$_GET['somevar'] 
也是

$somevar;
它可能没有设置在您的服务器上(实际上不应该设置),因此您可能不会受到此攻击。但是,如果它被启用,请对此采取措施

在你的特殊情况下,我很确定这条线

$folder_level = "";

在脚本开始时,将清除url中可能设置的任何内容。

修补本地文件包含(LFI)和远程文件包含(RFI)漏洞的最佳方法是使用白名单

$safe_folders=array("test","config","includes","special");

if(in_array($folder_level,$safe_folders)){
    require_once $folder_level."/config.php";
}
你发布的其他代码都是垃圾。。。显然是因为它被黑客攻击,而攻击代码被公开发布

$safe_folders=array("test","config","includes","special");

if(in_array($folder_level,$safe_folders)){
    require_once $folder_level."/config.php";
}