1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-06-05 22:14:59 +02:00

Merge branch 'develop-olympus' into develop

* develop-olympus:
  [ticket/10149] Skip foreach over GLOBALS cookie values if cookie is scalar
This commit is contained in:
Andreas Fischer 2011-06-03 12:54:37 +02:00
commit c504888f03

View File

@ -69,7 +69,7 @@ function deregister_globals()
{ {
if (isset($not_unset[$varname])) if (isset($not_unset[$varname]))
{ {
// Hacking attempt. No point in continuing unless it's a COOKIE // Hacking attempt. No point in continuing unless it's a COOKIE (so a cookie called GLOBALS doesn't lock users out completely)
if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS'])) if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
{ {
exit; exit;
@ -79,6 +79,11 @@ function deregister_globals()
$cookie = &$_COOKIE; $cookie = &$_COOKIE;
while (isset($cookie['GLOBALS'])) while (isset($cookie['GLOBALS']))
{ {
if (!is_array($cookie['GLOBALS']))
{
break;
}
foreach ($cookie['GLOBALS'] as $registered_var => $value) foreach ($cookie['GLOBALS'] as $registered_var => $value)
{ {
if (!isset($not_unset[$registered_var])) if (!isset($not_unset[$registered_var]))