@N0Escape

Работа с api/hash или как правильно защитить http/fetch запросы на сайте?

Добрый день.
Зараннее уточню, текущий мой проект создан полностью без БД и серверной логики, а также у меня нету большого опыта в создании сайтов с серверной логикой и запросами на бэкэнд, потому прошу в ответах учитывть то, что я не шибко разбираюсь в определенных понятиях и алгоритмах, таких как CORS и тд. Я лишь прошу предложить в ответах способы типа Best practice при работе с внешним api и зашитой ключей/hash_id

Ситуация такая:
На сайте присутствует форма которая используя api из formspree делает post запрос чтобы отправить данные с формы на мою почту. Запрос на formspree можно сделать только post запросом но на 2 эндпоинта (в зависмости от пожелания):
  • через обычный запрос на спец ссылку сервиса formspree: https://formspree.io/f/хэш_айди
  • через использование библиотеки и ее хука с передачей в него "хеш_айди"

В любом из вариантов, при нажатии на кнопку отправки идет запрос, и все работает отлично, однако, данный запрос можно отследить через вкладку Network в любом браузере и заполучить хеш_айди или ссылку с хеш_айди.
На сколько я понял из изучения данной темы, скрыть данный запрос из Network никак не получится, но и в тоже время, любой сможет используя данную ссылку создать простой цикл на localhost и заспамить мне почту и/или использовать весь лимит отправки писем.

З.ы. уточню, варианты captcha и Restrict to domain можно не предлагать, ибо captcha уже стоит и на сервисе formspree функция Restrict to domain, гдето так спрятана что я не нашел
  • Вопрос задан
  • 224 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Лучший (и единственный) вариант - работать через свой бэкенд и нигде никогда не светить ключи от посторонних API. На своём бэке вы можете вводить любые ограничения на частоту и количество запросов к чужому API.
Всё, что попадает к клиенту, или приходит от клиента - небезопасно по умолчанию.
А Restrict to domain вам не поможет, в браузере можно написать JS-код, который будет работать с вашим ID прямо на вашей же странице и массово генерировать запросы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы