Как защитить ключ API при использовании JavaScript?
Итак, я разрабатываю небольшое приложение только для собственного использования и, возможно, проект с открытым исходным кодом на Git. Я использую API от Envato Markets, и, как вы все знаете, есть некоторые операции, которые не требуют никаких ключей, но в то же время есть некоторые, которые действительно требуют.
Сначала я сделал красивую оболочку API для Envato API в PHP, но затем я решил немного поэкспериментировать с JavaScript, поэтому я разрабатываю ту же оболочку с JavaScript. До сих пор у меня нет никаких проблем с открытые операции, но теперь я должен использовать ключ API.
Мой вопрос заключается в том, есть ли способ защитить ключ API в JavaScript. Я не могу просто поместить его туда в виде простого текста, поскольку он может быть использован другими, кто видит код. Так будет ли реализована реализация, в которой API остается секретным ? Может быть, выхватить его из текстового файла JSON с помощью XHR ?
1 ответ:
Короткий ответ: Нет
Что бы вы ни делали, чтобы запутать ключ, вы все равно должны отправить его, чтобы сделать его доступным на клиенте, и поэтому его можно будет извлечь с помощью fx. Поджигатель.
Даже если вы придумаете удивительный волшебный способ сохранить ключ в секрете, в какой-то момент вам придется сделать фактический API-запрос, и поскольку он должен быть отправлен из браузера, злоумышленник сможет прочитать ключ в виде обычного текста из вкладки Firebugs net.
Правильная вещь-создать PHP-оболочку вокруг вызовов API, которые требуют ключей, а затем вызвать эту оболочку из Javascript.