Как можно улучшить безопасность веб-формы, взаимодействующей с внешним API, чтобы защитить ее от злоупотреблений с использованием хеш-идентификаторов и ключей?
Для обеспечения безопасности 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 лучше всего, но в вопросе он не фигурирует.