Shop-Script: Излишнее экранирование в поисковой строке списка заказов
Принято
2
Если название товара содержит апостроф и если выполнить поиск заказов, содержащих этот товар, то в поисковой строке вместо апострофа окажется экранированная html-сущность.
Пример с кремом "Panda's Dream" из демо-набора товаров:
shopProductsCollection::getProducts() (lib/classes/shopProductsCollection.class.php, метод workup продуктов) вызывает htmlspecialchars($p['name']) без явных флагов. В PHP 8.1+ это стало эквивалентно ENT_QUOTES, из-за чего апостроф превращается в '
Потом попадает в shopOrders.action.php::getFilterParamsExtended(), потом в Smarty Orders.html.
До PHP 8.1 дефолтным флагом был ENT_COMPAT и конкретно апостроф попадал в value как надо, поэтому баг со смешиванием html и plain-text был не так заметен
0 комментариев