我就遇到了這個問題,我自己在一個巨大的代碼庫。受@sschueller發佈的解決方案的啓發,我測試了此auto_prepend_file代碼,該代碼記錄了調查發生的事件。此方法還應與解析/標記化一起使用以捕獲所有事件。
<?php
$vars = get_defined_vars();
foreach ($vars as $var => $value) {
if (in_array($var, array('$_SERVER', '$_REQUEST', '$_GET', '$_POST', '$_COOKIE', '$_SESSION', '$_FILES', '$_ENV'))) {
// only examine the local symbols, not superglobals
continue;
}
if (array_key_exists($var, $_REQUEST) && $value == $_REQUEST[$var]) {
error_log(sprintf("register_globals reliance detected in %s for variable %s=%s", $_SERVER['SCRIPT_FILENAME'], $var, $value), 3, "/var/tmp/register_globals.log");
}
}
+1不是簡單地使用`提取物()`讓蹩腳的代碼的工作,但實際上將其固定 – ThiefMaster 2011-02-03 18:41:07