mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-27 21:58:52 +00:00
Merge branch 'develop-ascraeus' into develop
* develop-ascraeus: [ticket/13052] Use request class instead of $_POST and request_var() [ticket/13052] Fix appearances with multiple parameters [ticket/13052] Remove additional parameter from check_form_key()
This commit is contained in:
commit
aa6d7a09b8
2 changed files with 18 additions and 22 deletions
|
@ -2576,26 +2576,23 @@ function add_form_key($form_name)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check the form key. Required for all altering actions not secured by confirm_box
|
* Check the form key. Required for all altering actions not secured by confirm_box
|
||||||
* @param string $form_name The name of the form; has to match the name used in add_form_key, otherwise no restrictions apply
|
*
|
||||||
* @param int $timespan The maximum acceptable age for a submitted form in seconds. Defaults to the config setting.
|
* @param string $form_name The name of the form; has to match the name used
|
||||||
* @param string $return_page The address for the return link
|
* in add_form_key, otherwise no restrictions apply
|
||||||
* @param bool $trigger If true, the function will triger an error when encountering an invalid form
|
* @return bool True, if the form key was valid, false otherwise
|
||||||
*/
|
*/
|
||||||
function check_form_key($form_name, $timespan = false, $return_page = '', $trigger = false)
|
function check_form_key($form_name)
|
||||||
{
|
{
|
||||||
global $config, $user;
|
global $config, $request, $user;
|
||||||
|
|
||||||
if ($timespan === false)
|
|
||||||
{
|
|
||||||
// we enforce a minimum value of half a minute here.
|
// we enforce a minimum value of half a minute here.
|
||||||
$timespan = ($config['form_token_lifetime'] == -1) ? -1 : max(30, $config['form_token_lifetime']);
|
$timespan = ($config['form_token_lifetime'] == -1) ? -1 : max(30, $config['form_token_lifetime']);
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($_POST['creation_time']) && isset($_POST['form_token']))
|
if ($request->is_set_post('creation_time') && $request->is_set_post('form_token'))
|
||||||
{
|
{
|
||||||
$creation_time = abs(request_var('creation_time', 0));
|
$creation_time = abs($request->variable('creation_time', 0));
|
||||||
$token = request_var('form_token', '');
|
$token = $request->variable('form_token', '');
|
||||||
|
|
||||||
$diff = time() - $creation_time;
|
$diff = time() - $creation_time;
|
||||||
|
|
||||||
|
@ -2612,11 +2609,6 @@ function check_form_key($form_name, $timespan = false, $return_page = '', $trigg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($trigger)
|
|
||||||
{
|
|
||||||
trigger_error($user->lang['FORM_INVALID'] . $return_page);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,11 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
||||||
// Change "full folder" setting - what to do if folder is full
|
// Change "full folder" setting - what to do if folder is full
|
||||||
if (isset($_POST['fullfolder']))
|
if (isset($_POST['fullfolder']))
|
||||||
{
|
{
|
||||||
check_form_key('ucp_pm_options', $config['form_token_lifetime'], $redirect_url);
|
if (!check_form_key('ucp_pm_options'))
|
||||||
|
{
|
||||||
|
trigger_error('FORM_INVALID');
|
||||||
|
}
|
||||||
|
|
||||||
$full_action = request_var('full_action', 0);
|
$full_action = request_var('full_action', 0);
|
||||||
|
|
||||||
$set_folder_id = 0;
|
$set_folder_id = 0;
|
||||||
|
|
Loading…
Add table
Reference in a new issue