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 комментариев

    Добавить комментарий

    Чтобы добавить комментарий, зарегистрируйтесь или войдите