Я хотел начать орать, но рано. Тип яндух сохраняет и отдает не экранированные данные, а потом вспомнил, ШО ТАК И НАДО!
Знаете же какая лучшая практика против XSS всяких? Экранировать при ВЫВОДЕ, а не ВВОДЕ!
Почему? Да потому что если выйдет найти место без фильтра на ввод (ну или тупо в базу запись вставить), то пассивная XSS начнёт работать везде, где есть вывод этих данных.
С другой стороны, такой подход обязывает всех использующих API экранировать у себя локально и вероятность того, что где-нить прогер забудет это сделать высока.
Короче я бы зарофлил и пошёл фигачить ХСС в приложухи яндуха)0))
UPD. Они в своих прилах вообще юзают HTML вставки для банеров там всяких и прочей лабуды)))
UPD2. Норм люди обёртку над выводом пилят, я тоже адекватным стараюсь быть
Держите еще ссылку на вики шо это, некоторым полезно Межсайтовый скриптинг
text = TextBuilder()
text.add(f'Моя музыка')
text.add('<b>{display_name}</b>', display_name=context.client.account.display_name)
def add(self, line='', **values):
escaped_values = {key: escape(value) for key, value in values.items()}
Сойдёёёёт, так давно с .format
не работал, ужас.
escape из пакета html
31.12.2023 — Итоги Года
Итоги Года 202331.12.2022 — Итоги Года
Итоги Года 202231.12.2021 — Итоги Года
Итоги Года 202131.12.2020 — Итоги Года
Итоги Года 2020