Перейти к основному содержимому

Безопасность

Введение

Безопасность — обязательное требование и коллективная ответственность команды. Нарушение данных требований может привести к утечке данных, финансовым и юридическим рискам, компрометации инфраструктуры и потере доверия пользователей.

Frontend-код выполняется в браузере — неконтролируемой среде. Любые данные, токены и состояние на клиенте могут быть прочитаны, изменены или подделаны.


Основополагающие принципы

MUST

  1. Нулевое доверие к данным

    • Клиент (ваше приложение) никогда не является доверенной стороной
  2. Все входящие данные считаются недоверенными независимо от источника:

    • Пользовательский ввод
    • URL и query-параметры
    • Ответы внешних API (third-party сервисы, публичные endpoints)
    • localStorage, sessionStorage, IndexedDB
    • postMessage от других окон / фреймов
    • Cookies без флага HttpOnly
  3. Валидация на клиенте ≠ Безопасность

    • Клиентская валидация улучшает UX, но не защищает систему
    • Любая проверка, влияющая на безопасность и целостность данных, выполняется на backend

Обязательные материалы для изучения


Разделы документации