我正在研究几年前构建的应用程序,该应用程序最近停止正常工作。老程序员说,他可能正在访问$_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 周前)破坏?