
API может передавать заказы, документы и данные кабинета без обычных страниц сайта. Поэтому скрытый интерфейс или отсутствие ссылки в меню не являются защитой. Каждый запрос должен проверяться сервером с учётом личности, роли и конкретного объекта.
Разделите вход и полномочия
Действительный токен подтверждает способ доступа, но не разрешает читать любой заказ. Для каждого объекта приложение должно проверять, принадлежит ли он пользователю и допустимо ли запрошенное действие. Сложный или случайный идентификатор не заменяет эту проверку.
Что включить в проектирование
- Минимальные права и срок жизни учётных данных.
- Проверку входных типов, размеров и допустимых значений.
- Выдачу только необходимых полей ответа.
- Лимиты затратных и платных операций.
- Безопасные ошибки без секретов и внутренней диагностики.
- Журналы действий с ограничением чувствительных данных.
Не полагайтесь на CORS
CORS управляет определёнными браузерными взаимодействиями, но не запрещает произвольному клиенту обратиться к серверу. Секрет, помещённый в публичный JavaScript, тоже нельзя считать закрытым. Если запрос требует серверного секрета, архитектура должна исключать его выдачу посетителю.
Как проверять API
Создайте тестовых пользователей разных ролей и отдельные тестовые объекты. Проверьте отсутствие доступа, истечение и отзыв токена, обращение к чужим данным, превышение лимита и неверный формат. Убедитесь, что одинаковые правила действуют для веб-кабинета, мобильного клиента и старой версии API.
Что должно остаться после внедрения
Нужны документация endpoint, схема полномочий, владельцы интеграций и порядок смены ключей. Для внешнего партнёра выдавайте отдельные данные доступа, чтобы можно было отозвать одну интеграцию без остановки остальных. Открытая документация не является проблемой сама по себе; отсутствие серверных проверок — является.
Дополнительно: OWASP: безопасность REST API.
Читайте также
- Как настроить права доступа по принципу минимальных привилегий
- Как безопасно хранить API-ключи и токены интеграций
- Как безопасно принимать файлы через сайт
Если задача связана с вашим сайтом, можно обсудить проверку и доработку. Объём работ определяется после знакомства с проектом.


