<b>Безопасность фронтенда ломается не в коде, а в мелких допущениях</b>
Фронтенд редко «взламывают» напрямую. Чаще проблема в том, что он слишком доверяет данным, URL и DOM. Типовые дыры:
— XSS через неэкранированный вывод в шаблонах
— подмена параметров в query string
— опасный рендер HTML из API без санитайза
— утечки токенов в localStorage и логах
Давайте разберем под капотом. Если фронт получает HTML от сервера, его нельзя вставлять как есть. Любой rich text, комментарии, описания товаров и CMS-поля должны проходить через whitelist-санитайзер, а не через «быструю замену тегов». Для действий с чувствительными данными не полагайтесь на скрытые поля в форме: всё, что видно в браузере, можно изменить.
Отдельно проверяйте загрузку скриптов и сторонних виджетов. Один небезопасный src, один inline-скрипт без ограничений — и вся модель доверия рушится. Минимум, который стоит держать: строгий CSP, запрет опасных inline-обработчиков, изоляция iframe там, где есть сторонний контент 🔒
Вердикт для продакшена: фронтенд не должен принимать решения, которым нельзя доверять серверу. Храните секреты вне браузера, экранируйте вывод по умолчанию и считайте любой внешний ввод недоверенным. Если на проекте нет чёткого правила «что можно рендерить, а что только показывать текстом», уязвимость уже заложена.
Технологии сборки лендингов
@landing_page_tech_arb
<b>Безопасность фронтенда ломается не в коде, а в мелких допущениях</b>
Этот пост опубликован в Telegram-канале Технологии сборки лендингов. Подписаться можно по ссылке: @landing_page_tech_arb.