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

API и интеграции

Почему секрет внешнего API нельзя прятать в frontend

Данные, доставленные браузеру для работы страницы, доступны посетителю и могут использоваться вне предусмотренного интерфейса.

2 мин чтения

Что важно для проекта

  • Почему секрет внешнего API нельзя прятать в frontend
  • Узкий серверный посредник также требует ограничений.
  • Проверьте сборочные переменные и публичные ответы отдельно.

С какой задачей разбираемся

Переменная с незаметным именем и минифицированный JavaScript не делают ключ секретным. Данные, доставленные браузеру для работы страницы, доступны посетителю и могут использоваться вне предусмотренного интерфейса.

Какое решение заложить в проект

Разделите публичные идентификаторы и серверные секреты. Запросы с приватными полномочиями выполняйте доверенной серверной частью с проверкой прав; браузеру передавайте только необходимые результаты и допустимые публичные параметры.

Сценарий, который стоит проверить заранее

Например, ключ, разрешающий создавать сделки во всей CRM, нельзя использовать непосредственно из формы лендинга. Узкий серверный обработчик должен проверять ввод и ограничивать операцию заранее определённым действием.

Что считать готовым результатом

В публичных файлах и сетевых ответах нет приватных ключей. Сервер не превращается в произвольный прокси: посетитель не может подменить адрес, полномочие или тип операции через параметры формы.

Практические детали решения

Узкий серверный посредник также требует ограничений. Если он принимает произвольный адрес или команду от посетителя и выполняет их с приватным ключом, секрет формально остаётся на сервере, но полномочия всё равно становятся доступны через незащищённый интерфейс выполнения операций от имени компании.

Проверьте сборочные переменные и публичные ответы отдельно. Название настройки с пометкой «secret» не гарантирует, что инструмент не встроил её значение в клиентский файл; практическая проверка должна смотреть на то, что реально получает браузер при загрузке и отправке формы на рабочей версии.

  • Секрет не доставляется браузеру
  • Операции посредника ограничены
  • Ввод проверяется перед вызовом
  • Публичные файлы проверены фактически

Вывод для проекта

В публичных файлах и сетевых ответах нет приватных ключей. Сервер не превращается в произвольный прокси: посетитель не может подменить адрес, полномочие или тип операции через параметры формы.

Есть похожая задача? Пришлите описание проекта — помогу определить объём работ и следующий шаг.

Обсудить проект
← Все статьи