diff options
author | Brion Vibber <brion@status.net> | 2010-11-19 15:30:52 -0800 |
---|---|---|
committer | Brion Vibber <brion@status.net> | 2010-11-19 15:30:52 -0800 |
commit | 4193a826d3500c1c8771e2a55ca197011fe637c8 (patch) | |
tree | d2cff00e109e7f8d361c052b1452041457dc58b6 | |
parent | ca55d6c514d4ecadbb7d3fdc4c618dfd9da4a786 (diff) |
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.
-rw-r--r-- | index.php | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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)); |