Как защитить запрос API, сделанный из веб-приложения Flutter? - PullRequest
0 голосов
/ 30 мая 2020

У меня есть API, разработанный в PHP для моего веб-приложения Flutter. Я использую этот API для получения всех данных. Но я могу видеть все запросы, сделанные к серверу.

Есть ли способ скрыть / ограничить несанкционированное использование моего API? Я использую HTTP-библиотеку для звонков из моего приложения flutter в API. Я просто хочу скрыть эти вызовы веб-API. Я видел, как это делают некоторые сайты. Поскольку код сервера и код веб-сайта на этих веб-сайтах находятся в одном каталоге, к ним можно получить доступ напрямую, без необходимости делать запрос на веб-сервер.

1 Ответ

2 голосов
/ 30 мая 2020

Две проблемы, которые я вижу:

  1. Вы можете видеть все запросы, сделанные к внутреннему серверу со своей веб-страницы, и вы хотите их скрыть.

Ответ: Нет, не можешь . Я говорю это, основываясь на моем поиске в google и некоторых сообщениях в SO, например this

Вы можете подумать об отключении инструментов разработчика. Ответ: Нет и возможно с неизвестными побочными эффектами.

Есть ли способ скрыть / ограничить использование моего API посторонними лицами?

Ответ на этот вопрос - да, и это может быть сделано многими подходами. Как вы сказали, авторизация на основе токенов имеет свою собственную проблему с утечкой ключей, и поэтому всегда существует действительность, связанная с ней, и ее следует учитывать. Существуют такие механизмы, как refre sh tokens для обновления токенов et c.

Первое и самое главное, что я хотел бы сделать, это включить механизм CORS на вашем сервере, где сервер будет разрешать запросы только от очень специфичных c доменов для обработки. Подробности доступны здесь

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