我正在研究幾年前構建的應用程序,它最近停止正常工作。老程序員說,他可能會訪問$_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