Как обеспечить безопасность HTTP/Fetch запросов на сайте с помощью работы с API/hashing?

Как можно улучшить безопасность веб-формы, взаимодействующей с внешним API, чтобы защитить ее от злоупотреблений с использованием хеш-идентификаторов и ключей?
  • 5 марта 2024 г. 10:29
Ответы на вопрос 3
Для обеспечения безопасности HTTP/Fetch запросов на сайте с помощью работы с API/hashing, можно использовать следующие методы:

1. Использование HTTPS для защищенной передачи данных между клиентом и сервером.
2. Аутентификация запросов с использованием токенов доступа или API ключей.
3. Хеширование конфиденциальной информации перед отправкой запроса на сервер.
4. Подписание запросов с использованием цифровой подписи.
5. Ограничение доступа к API запросам с помощью белого списка IP адресов.

Для улучшения безопасности веб-формы, взаимодействующей с внешним API, можно использовать хеш-идентификаторы и ключи следующим образом:

1. Генерация уникальных хеш-идентификаторов для каждого запроса, чтобы предотвратить повторное использование запросов.
2. Хранение ключей аутентификации в защищенном месте и передача их в зашифрованном виде при обмене данными с внешним API.
3. Установление ограничений на количество запросов, которые может выполнить конкретный пользователь или IP адрес, чтобы предотвратить злоупотребление.
4. Мониторинг и регистрация всех запросов к веб-форме, чтобы быстро выявлять и реагировать на возможные атаки.

Работа с API и использование хеширования для обеспечения безопасности запросов и взаимодействия с внешними сервисами играет важную роль в защите данных и предотвращении злоупотреблений.
Лучший (и единственный) вариант - работать через свой бэкенд и нигде никогда не светить ключи от посторонних API. На своём бэке вы можете вводитьлюбые ограничения на частоту и количество запросов к чужому API. 
Всё, что попадает к клиенту, или приходит от клиента - небезопасно по умолчанию.
А Restrict to domain вам не поможет, в браузере можно написать JS-код, который будет работать с вашим ID прямо на вашей же странице и массово генерировать запросы.
На сколько я понял из изучения данной темы, скрыть данный запрос из Network никак не получится, но и в тоже время, любой сможет используя данную ссылку создать простой цикл на localhost и заспамить мне почту и/или использовать весь лимит отправки писем.

Предпочитаю Wireshark, Fiddler, Proxifier итп. Что на счет заспамливания - все верно, но это не самое страшное, т.к. заспамливанием можно сломать конверсию рекламы, а тут уже совсем другие расходы пойдут.
Я лишь прошу предложить в ответах способы типа Best practice при работе с внешним api и зашитой ключей/hash_id

Пару вариантов:
- Простой - Нужно ли обычную форму обратной связи лендинга защищать от спам-ботов?
- Сложнее - делайте подтверждение по смс или мессенджеру, если код ввели верно - отправляйте форму.
- Свой backend лучше всего, но в вопросе он не фигурирует.
Похожие вопросы