Безопасность фронтенда: 6 мест, где лендинг ломают чаще всего
Фронтенд редко «взламывают» напрямую. Обычно атакуют то, что видно в браузере: формы, скрипты, внешние виджеты, iframe и API-ключи, случайно оставленные в коде. Давайте разберем под капотом.
• Не храните секреты в JS. Любой ключ в bundle, data-атрибуте или source map считается публичным.
• Все данные из форм и query-параметров считайте недоверенными: их нужно экранировать, а не вставлять в DOM через innerHTML.
• Любой сторонний скрипт — это точка риска. Подключайте только то, что реально нужно, и фиксируйте список зависимостей.
• Для внешних форм и виджетов ограничивайте iframe, postMessage и права через CSP, sandbox и allowlist доменов.
Отдельная зона — редиректы и открытые ссылки. Если лендинг принимает параметр next, returnUrl или url, проверяйте его по белому списку, иначе пользователь уйдет на фишинговую страницу с вашего домена. Еще одна типовая ошибка — оставлять debug-логи, тестовые endpoints и карты исходников там, где их видит весь интернет.
Вердикт для продакшена: минимизируйте поверхность атаки, не доверяйте входным данным и не давайте фронтенду ничего лишнего. Если правило нельзя проверить автоматически на сборке или в ревью, оно почти наверняка будет нарушено.
Технологии сборки лендингов
@landing_page_tech_arb
Безопасность фронтенда: 6 мест, где лендинг ломают чаще всего
Этот пост опубликован в Telegram-канале Технологии сборки лендингов. Подписаться можно по ссылке: @landing_page_tech_arb.