Я получил ключ API Карт Google для своего домена.
Примеры, приведенные при получении ключа, показывают ключ, встроенный в параметры запроса, например:
<script src="http://maps.google.com/maps?file=api&v=2&sensor=true_or_false&key=my-key" type="text/javascript"></script>
Я понимаю, что поле реферера в запросах должно соответствовать моему домену, безопасно ли делать мой ключ видимым в тегах скриптов и т.п.? Или я должен предпринять какие-то другие шаги?
google-maps
хвастун
источник
источник
В консоли Google API есть настройка, которая может защитить вашу полосу пропускания API от использования другим доменом / пользователем. Вы можете ограничить и защитить это, используя реферер в консоли API. Ключ API будет отклонять запросы без рефереров, которые соответствуют вашим ограничениям.
Вот скриншот из Google для ключа API, который может использоваться только Google для двух своих доменов.
источник
Хотя этому вопросу несколько лет, он очень хороший. Насколько я понимаю, раскрытие ключей API, даже если они совпадают с доменом, все равно может привести к злоупотреблениям. Здесь есть сообщение о Security Stack Exchange, в котором это более подробно рассматривается.
Действия, которые вы можете предпринять, чтобы избежать возможных злоупотреблений, опубликованы Google здесь:
Руководство по передовой практике для безопасного использования API: https://support.google.com/cloud/answer/6310037?hl=en
Хотя я бы рекомендовал взять все это на вооружение, есть подход, который будет иметь дело с конкретным примером, опубликованным Brabster, и заключается в том, чтобы сохранить ключ в переменной среды . Таким образом, все, что вам нужно сделать, это заменить ключ серверной переменной, которая хранится в вашем проекте. Однако убедитесь, что не зафиксировали файл, в котором хранится ключ, в общедоступном репозитории.
источник
Вы должны использовать серверную часть / серверную часть для защиты и обработки ключа. В моем случае я использовал серверную часть Django f / w, которая может обслуживать вызов ajax для получения ключа из серверного скрипта / db, а затем передавать его в google api.
источник