mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-12 22:38:52 +00:00
[ticket/15227] Remove function deregister_globals, not needed
PHPBB3-15227
This commit is contained in:
parent
1d5f5ccffc
commit
bee363f072
1 changed files with 0 additions and 58 deletions
|
@ -22,64 +22,6 @@ if (!defined('IN_PHPBB'))
|
||||||
$level = E_ALL & ~E_NOTICE & ~E_DEPRECATED;
|
$level = E_ALL & ~E_NOTICE & ~E_DEPRECATED;
|
||||||
error_reporting($level);
|
error_reporting($level);
|
||||||
|
|
||||||
/*
|
|
||||||
* Remove variables created by register_globals from the global scope
|
|
||||||
* Thanks to Matt Kavanagh
|
|
||||||
*/
|
|
||||||
function deregister_globals()
|
|
||||||
{
|
|
||||||
$not_unset = array(
|
|
||||||
'GLOBALS' => true,
|
|
||||||
'_GET' => true,
|
|
||||||
'_POST' => true,
|
|
||||||
'_COOKIE' => true,
|
|
||||||
'_REQUEST' => true,
|
|
||||||
'_SERVER' => true,
|
|
||||||
'_SESSION' => true,
|
|
||||||
'_ENV' => true,
|
|
||||||
'_FILES' => true,
|
|
||||||
'phpEx' => true,
|
|
||||||
'phpbb_root_path' => true
|
|
||||||
);
|
|
||||||
|
|
||||||
// Not only will array_merge and array_keys give a warning if
|
|
||||||
// a parameter is not an array, array_merge will actually fail.
|
|
||||||
// So we check if _SESSION has been initialised.
|
|
||||||
if (!isset($_SESSION) || !is_array($_SESSION))
|
|
||||||
{
|
|
||||||
$_SESSION = array();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Merge all into one extremely huge array; unset this later
|
|
||||||
$input = array_merge(
|
|
||||||
array_keys($_GET),
|
|
||||||
array_keys($_POST),
|
|
||||||
array_keys($_COOKIE),
|
|
||||||
array_keys($_SERVER),
|
|
||||||
array_keys($_SESSION),
|
|
||||||
array_keys($_ENV),
|
|
||||||
array_keys($_FILES)
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach ($input as $varname)
|
|
||||||
{
|
|
||||||
if (isset($not_unset[$varname]))
|
|
||||||
{
|
|
||||||
// Hacking attempt. No point in continuing.
|
|
||||||
if (isset($_COOKIE[$varname]))
|
|
||||||
{
|
|
||||||
echo "Clear your cookies. ";
|
|
||||||
}
|
|
||||||
echo "Malicious variable name detected. Contact the administrator and ask them to disable register_globals.";
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
unset($GLOBALS[$varname]);
|
|
||||||
}
|
|
||||||
|
|
||||||
unset($input);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Minimum Requirement: PHP 5.4.0
|
* Minimum Requirement: PHP 5.4.0
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue