Если кто-то выкопает это, что помешает ему спамить поисковые запросы с помощью вашего ключа API?
Хотите ли вы жестокую правду?Ничего ...
К сожалению, в веб-приложении вообще не существует защиты секретов, будь то API-ключи, токены или любые другие соглашения об именах, которые могут быть использованы.
В веб-приложениивсе, что нужно, это использовать F12 или просмотреть исходный код страницы и искать их в необработанном HTML и JavaScript.
Вы можете попробовать использовать обфускацию JavaScript , чтобы ее было трудно найти, новсе еще будет легко перепроектировать.Даже в мобильном приложении, в котором их код запутан и выпущен в виде двоичного файла, эти секреты легко извлечь.
Если вы хотите немного больше узнать о Techinques Mobile Api Security, пожалуйста, прочитайте эту серию статей, чтобы узнать, как можно обойти и обойти API-ключи, токены доступа, HMAC и другие методы.Хотя статья была написана в контексте мобильного API, она все еще действительна в контексте веб-приложения для методов безопасности, используемых для защиты API.
Возможное решение
Лучший способ - всегда делегировать доступ вашего веб-приложения к API сторонней части бэкэнду, которым вы можете управлять.
В этом бэкэнде вы можете использовать решение для анализа поведения пользователей (UBA) для отслеживания неправильного использования этой третьей части доступа.
Как только UBA может быть сложным и дорогим для развертывания, вы можете начать сиспользуя новую Google reCaptcha V3 на всех страницах вашего веб-приложения.ReCaptcha V3 не требует прямого взаимодействия с пользователем, поскольку он работает на заднем плане, чтобы отличать людей от ботов.
Поэтому у меня будет веб-приложение, запрашивающее поиск Agolia в моем бэкэнде, которое будет использовать защиту reCaptcha V3 для дифференциации злоупотреблений вфункция поиска, выполняемая ботами или злоумышленниками.
Помните, что этот подход имеет огромное преимущество: никогда не раскрывает ваш ключ API Agolia, поэтому злоумышленники никогда не смогут напрямую его использовать.