mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-13 06:07:23 +01:00
Typos and more secure unsetting.
git-svn-id: http://svn.automattic.com/wordpress/branches/1.5@2783 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
43f3ec3827
commit
71a8451159
@ -1,19 +1,27 @@
|
|||||||
<?php
|
<?php
|
||||||
// Turn register globals off
|
// Turn register globals off
|
||||||
if ( ini_get('register_globals') ) {
|
function unregister_GLOBALS() {
|
||||||
$superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
|
if ( !ini_get('register_globals') )
|
||||||
if ( isset($_SESSION) )
|
return;
|
||||||
array_unshift($superglobals, $_SESSION);
|
|
||||||
|
if ( isset($_REQUEST['GLOBALS']) )
|
||||||
|
die('GLOBALS overwrite attempt detected');
|
||||||
|
|
||||||
|
// Variables that shouldn't be unset
|
||||||
|
$noUnset = array('GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', 'table_prefix');
|
||||||
|
|
||||||
foreach ( $superglobals as $superglobal )
|
$input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());
|
||||||
foreach ( $superglobal as $global => $value )
|
foreach ( $input as $k => $v )
|
||||||
if ( 'table_prefix' != $global )
|
if ( !in_array($k, $noUnset) && isset($GLOBALS[$k]) )
|
||||||
unset( $GLOBALS[$global] );
|
unset($GLOBALS[$k]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unregister_GLOBALS();
|
||||||
|
|
||||||
$HTTP_HOST = getenv('HTTP_HOST'); /* domain name */
|
$HTTP_HOST = getenv('HTTP_HOST'); /* domain name */
|
||||||
$REMOTE_ADDR = getenv('REMOTE_ADDR'); /* visitor's IP */
|
$REMOTE_ADDR = getenv('REMOTE_ADDR'); /* visitor's IP */
|
||||||
$HTTP_USER_AGENT = getenv('HTTP_USER_AGENT'); /* visitor's browser */
|
$HTTP_USER_AGENT = getenv('HTTP_USER_AGENT'); /* visitor's browser */
|
||||||
|
unset( $wp_filter, $cache_userdata, $cache_lastcommentmodified, $cache_lastpostdate, $cache_settings, $category_cache, $cache_categories );
|
||||||
|
|
||||||
// Fix for IIS, which doesn't set REQUEST_URI
|
// Fix for IIS, which doesn't set REQUEST_URI
|
||||||
if (! isset($_SERVER['REQUEST_URI'])) {
|
if (! isset($_SERVER['REQUEST_URI'])) {
|
||||||
|
Loading…
Reference in New Issue
Block a user