我正在研究几年前构建的应用程序,该应用程序最近停止正常工作。老程序员说,他可能正在访问$_GET或$_POST变量而不是从中读取它们$_GET[] array,而是通过register_globals
我想问:在$_GET不使用数组的情况下访问变量有哪些不同的方法$_GET[](例如直接方法?),如果知道,我如何检查这个应用程序是否使用它们中的任何一个?
先感谢您
编辑:我记得的其他方式是register_globals,不是magic_quotes。另外,我不想使用它,而是检测它是否被使用并且在最新的服务器更新中已弃用(什么可以解释为什么应用程序停止正常工作)
编辑:我今天的英语很糟糕。正如我在一个答案中解释的那样:我需要检查原始程序员是否使用了一些晦涩和/或不推荐使用的从查询字符串获取变量到 PHP 的方法,因此现在使用的值应用程序是错误的/未初始化
重要编辑:import_request_variables不在桌面上,未使用。所有$_数组也都不在讨论范围内,因为最新的更新不会破坏它们(=>它们仍然有效)。如何检测哪些变量被初始化register_globals?
另一个编辑:我发现了这个:
foreach ($_POST as $k => $v) {
eval("\$".$k." = '".$v."';");
}
foreach ($_GET as $k => $v) {
eval("\$".$k." = '".$v."';");
}
它是否已被最新更新之一(最多 1 周前)破坏?