Accidental commit. Props Nazgul. fixes #4437

git-svn-id: https://develop.svn.wordpress.org/trunk@5690 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
rob1n 2007-06-12 21:59:22 +00:00
parent c913f202d2
commit 33871d9da3

View File

@ -1,26 +1,28 @@
<?php <?php
// Turn register globals off
function wp_unregister_GLOBALS() {
if ( !ini_get('register_globals') )
return;
if ( ini_get( 'register_globals' ) ) { if ( isset($_REQUEST['GLOBALS']) )
if ( isset( $_REQUEST['GLOBALS'] ) ) { die('GLOBALS overwrite attempt detected');
die( 'GLOBALS overwrite attempt detected. Exiting.' );
} // Variables that shouldn't be unset
$noUnset = array('GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', 'table_prefix');
$no_unset = array( 'GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', 'table_prefix' );
$input = array_merge( $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, is_array( $_SESSION ) ? $_SESSION : array() ); $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());
foreach ( $input as $k => $v )
foreach ( $input as $key => $val ) { if ( !in_array($k, $noUnset) && isset($GLOBALS[$k]) ) {
if ( !in_array( $key, $no_unset ) && isset( $GLOBALS[$k] ) ) {
$GLOBALS[$k] = NULL; $GLOBALS[$k] = NULL;
unset( $GLOBALS[$key] ); unset($GLOBALS[$k]);
} }
}
unset( $no_unset, $input );
} }
wp_unregister_GLOBALS();
unset( $wp_filter, $cache_userdata, $cache_lastcommentmodified, $cache_lastpostdate, $cache_settings, $category_cache, $cache_categories ); unset( $wp_filter, $cache_userdata, $cache_lastcommentmodified, $cache_lastpostdate, $cache_settings, $category_cache, $cache_categories );
if ( !isset( $blog_id ) ) if ( ! isset($blog_id) )
$blog_id = 1; $blog_id = 1;
// Fix for IIS, which doesn't set REQUEST_URI // Fix for IIS, which doesn't set REQUEST_URI