mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-03 15:27:42 +02: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:
@@ -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),
|
||||||
|
Reference in New Issue
Block a user