[ticket/17326] Use same regex in icon name validation in PHP

PHPBB-17326
This commit is contained in:
Marc Alexander 2025-02-15 20:24:07 +01:00
parent 67e2b32816
commit 1e76b0df0e
No known key found for this signature in database
GPG key ID: 50E0D2423696F995
2 changed files with 13 additions and 1 deletions

View file

@ -241,7 +241,7 @@ class acp_bbcodes
trigger_error($user->lang['BBCODE_FONT_ICON_TOO_LONG'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if (!empty($bbcode_font_icon) && !preg_match('/^[\w-]+$/', $bbcode_font_icon))
if (!empty($bbcode_font_icon) && !preg_match('/^(?!-)(?!.*--)[a-z0-9-]+(?<!-)$/', $bbcode_font_icon))
{
trigger_error($user->lang['BBCODE_FONT_ICON_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}

View file

@ -98,6 +98,18 @@ class phpbb_functional_acp_bbcodes_test extends phpbb_functional_test_case
'Not a valid icon name',
'is invalid',
],
'icon name invalid double dash' => [
'[mod2="{TEXT1}"]{TEXT2}[/mod2]',
'<div>{TEXT1}</div><div>{TEXT2}</div>',
'us--er',
'is invalid',
],
'icon name invalid trailing dash' => [
'[mod2="{TEXT1}"]{TEXT2}[/mod2]',
'<div>{TEXT1}</div><div>{TEXT2}</div>',
'user-',
'is invalid',
],
];
}
}