Ограничить доступ API к моему приложению Frontend, используя ежедневный случайный ключ API - PullRequest
1 голос
/ 23 апреля 2020

Я создаю API, к которому будет обращаться только мое приложение Vue. js для отображения данных, таких как mov ie раз, ссылки на видео по запросу и т. Д. c. Нет конфиденциальной конфиденциальной информации, но я бы хотел, чтобы другие люди и боты не использовали мои ресурсы для получения бесплатных данных. Я знаю, что ограничить API для моего собственного одностраничного веб-приложения практически невозможно, поскольку кто-то всегда может:

  • Получить ключ API из источника страницы
  • Подделать заголовок реферера к тому, что мой API ограничен

Так что я подумал «уменьшить ущерб», то есть количество ботов, использующих мой API, с помощью того, что внутренний сервер генерировал ключ API каждый день в полдень например. Затем, когда PHP загружает приложение Vue. js, он вставляет этот ключ API в код Vue. js, который будет использовать его для запроса моего Python API. Если Vue получит ошибку «неверный ключ API» (случай, когда страница была загружена в 11:59, а запрос был отправлен в 12:01), Vue. js будет перефразировать sh страницу для получите новый ключ.

Таким образом, если кто-то получит ключ API из источника, он все равно истечет менее чем через 24 часа. Конечно, кто-то может почистить страницу, чтобы получить ключ API каждый день, и при этом использовать API, но я чувствую, что это остановит множество ботов и спамеров.

Кто-нибудь когда-нибудь пробовал что-то подобное? Это звучит как жизнеспособное решение или есть что-то лучшее, что я не смог найти в StackOverflow?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...