Как защитить ключ API при использовании JavaScript?


Итак, я разрабатываю небольшое приложение только для собственного использования и, возможно, проект с открытым исходным кодом на Git. Я использую API от Envato Markets, и, как вы все знаете, есть некоторые операции, которые не требуют никаких ключей, но в то же время есть некоторые, которые действительно требуют.

Сначала я сделал красивую оболочку API для Envato API в PHP, но затем я решил немного поэкспериментировать с JavaScript, поэтому я разрабатываю ту же оболочку с JavaScript. До сих пор у меня нет никаких проблем с открытые операции, но теперь я должен использовать ключ API.

Мой вопрос заключается в том, есть ли способ защитить ключ API в JavaScript. Я не могу просто поместить его туда в виде простого текста, поскольку он может быть использован другими, кто видит код. Так будет ли реализована реализация, в которой API остается секретным ? Может быть, выхватить его из текстового файла JSON с помощью XHR ?

1 22

1 ответ:

Короткий ответ: Нет

Что бы вы ни делали, чтобы запутать ключ, вы все равно должны отправить его, чтобы сделать его доступным на клиенте, и поэтому его можно будет извлечь с помощью fx. Поджигатель.

Даже если вы придумаете удивительный волшебный способ сохранить ключ в секрете, в какой-то момент вам придется сделать фактический API-запрос, и поскольку он должен быть отправлен из браузера, злоумышленник сможет прочитать ключ в виде обычного текста из вкладки Firebugs net.

Правильная вещь-создать PHP-оболочку вокруг вызовов API, которые требуют ключей, а затем вызвать эту оболочку из Javascript.