Snippets
Register Globals off
If you don't have access to your php.ini or the ability to set register_globals via your .htaccess, the following snippet will do the trick.
You'll need to execute this function just before everything else executes on your page (but after session_start())
Source:
http://www.php.net/manual/en/faq.misc.php#faq.misc.registerglobals
<?php // Emulate register_globals off function unregister_GLOBALS() { if (!ini_get('register_globals')) { return; } // Might want to change this perhaps to a nicer error if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) { die('GLOBALS overwrite attempt detected'); } // 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]); } } } unregister_GLOBALS(); ?>
posted by Christoff Truter on 2009-06-09 11:47:26