// 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]);
}