我正在研究几年前构建的应用程序,它最近停止正常工作。老程序员说,他可能会访问$_GET
或$_POST
变量,但不从$_GET[] array
阅读它们,而是通过register_globals
我想问:(?如直接的方法)什么是访问$_GET
变量,而无需使用$_GET[]
阵列不同的方式如果知道,我该如何检查这个应用程序是否使用其中的任何一个?
预先感谢您
编辑:我记得在很多其他方面都register_globals
,不magic_quotes
。另外,我不希望使用它,而如果使用,并在最新的服务器更新弃用它检测(什么可以解释为什么应用程序停止正常工作)
编辑:我的英语今天是可怕的。正如我在回答一个解释:我需要检查,原来的程序是否使用正从查询字符串变量到PHP的一些模糊的和/或方法已过时,因此它们的值应用现在都错/未初始化工作
重要编辑:import_request_variables
不在表中,因此未使用。所有$_
数组也不在场,因为最新的更新不会破坏它们(=>它们仍然有效)。如何检测用register_globals
初始化哪些变量?
又一编辑:我发现这一点:(最多1个星期前)
foreach ($_POST as $k => $v) {
eval("\$".$k." = '".$v."';");
}
foreach ($_GET as $k => $v) {
eval("\$".$k." = '".$v."';");
}
莫非已经通过最新更新一个破?
我们有关系吗? – 2010-11-11 14:11:40
它会给出某种错误吗?如果没有,那么它不起作用。在我们诊断问题之前,我们需要知道。 – 2010-11-11 14:12:27
我也会认为他宁愿用'register_globals'或PHP3数组''HTTP_GET_VARS'来代替。无论哪种方式都不好。努力重写这些东西。 – mario 2010-11-11 14:13:35