[ticket/17506] Ensure superglobal variables are arrays before applying addition

PHPBB-17506
This commit is contained in:
rxu 2025-05-09 16:58:36 +07:00
parent 04f2141a7d
commit 10947f3d49
No known key found for this signature in database
GPG key ID: 955F0567380E586A

View file

@ -70,12 +70,12 @@ class request implements \phpbb\request\request_interface
foreach ($this->super_globals as $const => $super_global) foreach ($this->super_globals as $const => $super_global)
{ {
$this->input[$const] = isset($GLOBALS[$super_global]) ? $GLOBALS[$super_global] : array(); $this->input[$const] = isset($GLOBALS[$super_global]) ? (array) $GLOBALS[$super_global] : array();
} }
// simulate request_order = GP // simulate request_order = GP
$this->original_request = $this->input[\phpbb\request\request_interface::REQUEST]; $this->original_request = (array) $this->input[\phpbb\request\request_interface::REQUEST];
$this->input[\phpbb\request\request_interface::REQUEST] = $this->input[\phpbb\request\request_interface::POST] + $this->input[\phpbb\request\request_interface::GET]; $this->input[\phpbb\request\request_interface::REQUEST] = (array) $this->input[\phpbb\request\request_interface::POST] + (array) $this->input[\phpbb\request\request_interface::GET];
if ($disable_super_globals) if ($disable_super_globals)
{ {