Ticket #2796: don't allow arbitrary overriding of the 'action' class and other parameters pulled from the URL mapper.

This protects against oddities such as manual invocation of the ClientError action, which can spoof error messages.
This commit is contained in:
Brion Vibber 2010-11-19 15:30:52 -08:00
parent ca55d6c514
commit 4193a826d3
1 changed files with 5 additions and 1 deletions

View File

@ -272,7 +272,11 @@ function main()
return;
}
$args = array_merge($args, $_REQUEST);
// Note the order here: arguments from the URL mapper will
// override request params that have been sent. This ensures
// that for instance an action parameter can't be overridden
// with an arbitrary action class.
$args = array_merge($_REQUEST, $args);
Event::handle('ArgsInitialize', array(&$args));