Скрытие ключа API в коде (Python) - PullRequest
4 голосов
/ 18 сентября 2011

Я использую ключ API в некотором коде Python, который я собираюсь распространять. Этот ключ API предназначен для Карт Google. Существуют ли проблемы с безопасностью при распространении этого API-ключа, и если да, то как это лучше скрыть?

Ответы [ 5 ]

5 голосов
/ 18 сентября 2011

Нет необходимости, ключ API Google привязан к вашему домену, поэтому при его использовании проверяется ссылка.

Подробнее о том, как это работает, вы можете прочитать здесь

Соответствующая часть

Обратите внимание, что ключ для http://www.mygooglemapssite.com/ будет принят только при доступе к сайту по этому адресу. Он не будет принят, если доступ к сайту осуществляется по IP-адресу (например, http://10.1.2.3/) или по имени хоста, имеющего псевдоним www.mygooglemapssite.com с использованием записи DNS CNAME.

Их API версии 3 теперь не требует ключа.

http://code.google.com/apis/maps/documentation/javascript/

1 голос
/ 18 сентября 2011

Вы не можете это скрыть.Ваша программа должна получить к ней доступ, и хакер просто использует такой инструмент, как отладчик, виртуальную машину или модифицированную реализацию Python, если он действительно хочет знать ключ API.

Я не думаю, что этов любом случае необходимо скрыть ключ API Карт Google, поскольку веб-страница также будет содержать его в своем исходном коде при использовании API.Вам следует обратиться к документации или странице, где вы получили ключ, чтобы узнать, является ли он закрытым ключом.

0 голосов
/ 18 сентября 2011

Ключ API Карт Google предназначен только для версии 2, официально объявленной устаревшей с мая 2010 года. Настоятельно рекомендуем использовать вместо этого версию 3 API, что намного лучше и не требует ключа API.

0 голосов
/ 18 сентября 2011

Вы можете запутать ключ различными способами, но это не стоит усилий. Обфускация - слабый способ защиты информации, и в этом случае безопасность вашей информации в любом случае не особенно критична.

Смысл ключа API в значительной степени заключается в том, что поставщик API (здесь, Google) может отслеживать, регулировать и отзывать использование вашего приложения вашим приложением. Он предназначен для частных лиц, и вы не должны делиться этим небрежно или намеренно, но это не конец света, если кто-то другой получит его в свои руки.

0 голосов
/ 18 сентября 2011

если вы предоставляете «опытным пользователям» инструмент для использования карт Google, разумно ожидать, что они предоставят свой собственный ключ API Google. Если это не вариант для ваших пользователей, вам понадобится веб-служба, к которой ваше приложение обращается, чтобы действовать в качестве заместителя, чтобы ваш закрытый ключ не был открыт. Вам все равно придется разработать средства аутентификации пользователей, если это применимо.

...