mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/10561] All users can choose deactivated styles (fixed).
A form exploit enabled the users to select a deactivated style. Fixed with extra check on submit, with a new function styles_verify to check if the selected style is activated or not. PHPBB3-10561
This commit is contained in:
parent
3477b5e5a8
commit
084e1ae560
2 changed files with 20 additions and 1 deletions
|
@ -1238,6 +1238,24 @@ function style_select($default = '', $all = false)
|
||||||
return $style_options;
|
return $style_options;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if style is activated
|
||||||
|
*/
|
||||||
|
function style_verify($style_id = 0)
|
||||||
|
{
|
||||||
|
global $db;
|
||||||
|
|
||||||
|
$sql = 'SELECT style_id, style_active
|
||||||
|
FROM ' . STYLES_TABLE . "
|
||||||
|
WHERE style_id = $style_id";
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
|
$style_verified = $db->sql_fetchrow($result);
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
return $style_verified['style_active'];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pick a timezone
|
* Pick a timezone
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -61,7 +61,8 @@ class ucp_prefs
|
||||||
|
|
||||||
if ($submit)
|
if ($submit)
|
||||||
{
|
{
|
||||||
$data['style'] = ($config['override_user_style']) ? $config['default_style'] : $data['style'];
|
$data['style'] = ($config['override_user_style']) ? $config['default_style'] :
|
||||||
|
(style_verify($data['style']) ? $data['style'] : ((int) $user->data['user_style']));
|
||||||
|
|
||||||
$error = validate_data($data, array(
|
$error = validate_data($data, array(
|
||||||
'dateformat' => array('string', false, 1, 30),
|
'dateformat' => array('string', false, 1, 30),
|
||||||
|
|
Loading…
Add table
Reference in a new issue