Вопрос

Я почти уверен, что ответ о том, что я собираюсь спросить, - это «нет», но, может быть, кто -то может дать мне другую идею, поэтому я все равно спрашиваю.

Я разрабатываю панель управления, которая получает информацию из стороннего веб -сервиса через вызов API. Я мог бы позвонить с Ajax, который возвращает результат в миллисекунд в браузере, но я буду разоблачить ключ API этой услуги. Несмотря на то, что это интранет с ограниченным доступом, сотрудник может обнюхиваться и получить частный ключ API, например, только наблюдая за окном активности Safari. Сотрудники заслуживают доверия, но я не хочу рисковать своей безопасностью развития, просто доверяя.

То, что я делаю сейчас, - это Ajaxing PHP, который делает вызов с помощью вызова скручивания, но для этого требуется около 2 или 3 секунд: не сам PHP, общий хостинг идет на сторонний сервер и обратно.

Есть ли способ, чтобы браузер выполнил запрос непосредственно на API, не разоблачая личный ключ? Я думаю, что по определению это невозможно, но я делюсь сценарием, так что, возможно, у кого -то есть лучшая идея (я пытаюсь избежать кеша, потому что информация излучала изменения на втором)

У меня нет проблемы, связанного с этим: если я выполняю вызов API через Curl на терминале Mac OS или в локальном Apache, для получения результата требуется около 12 секунд, но браузер на одном и том же компьютере и подключении Получает это в миллисекундах. Я не очень хорошо знаком с тем, как работает Curl внутренне, но либо Curl - это медленный механизм, либо не работает хорошо в моем Mac.

Спасибо

Это было полезно?

Решение

Нет, поскольку код JavaScript отправляется и запускается на машине клиента, невозможно каким -то образом не разоблачить ключ API. Шифрование/запутывание было бы бессмысленным, так как знающий пользователь мог бы просто использовать просмотрщик заголовка/пакет, чтобы в любом случае извлечь ключ с открытым текстом из запросов API.

Единственный способ не разоблачить ключ с пользователем - это не позволить пользователю когда -либо задерживать его, что означает прокси -прокси.

Другие советы

Нет, когда браузер запрашивает услугу, пользователь может постоянно понюхать ключ. Таким образом, использовать PHP в качестве прокси - хорошее решение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top