// Let us unset all global variables set by register globals if(ini_get('register_globals') == true) { if(isset($_REQUEST['GLOBALS'])) exit('GLOBALS overwrite attempt detected! Exiting...'); // Variables that shouldn't be unset $noUnset = array('GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES'); $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array()); foreach($input as $k => $v) if(!in_array($k, $noUnset) && isset($GLOBALS[$k])) unset($GLOBALS[$k]); }