Obtive uma chave de API do Google Maps para meu domínio.
Os exemplos fornecidos quando obtive minha chave mostram a chave incorporada nos parâmetros de solicitação, por exemplo:
<script src="http://maps.google.com/maps?file=api&v=2&sensor=true_or_false&key=my-key" type="text/javascript"></script>
Compreendo que o campo referrer nas solicitações deve corresponder ao meu domínio. É seguro tornar minha chave visível em tags de script e similares? Ou há outras etapas que devo tomar?
google-maps
Brabster
fonte
fonte
Há uma configuração no console da API do Google que pode proteger o uso da largura de banda da API de ser usado por outro domínio / usuário. Você pode restringir e proteger isso usando referrer no console da API. A chave API rejeitará solicitações sem referenciadores que correspondam às suas restrições.
Aqui está a captura de tela do Google para a chave API que só pode ser usada pelo Google em seus dois domínios.
fonte
Embora esta pergunta tenha alguns anos, é muito boa. Pelo que entendi, expor as chaves de API, mesmo que sejam de domínio correspondente, ainda pode levar a abusos. Há uma postagem sobre Security Stack Exchange aqui que aborda isso com mais detalhes.
As etapas que você pode seguir para evitar um possível abuso foram publicadas pelo Google aqui:
Guia de práticas recomendadas para usar APIs com segurança: https://support.google.com/cloud/answer/6310037?hl=en
Embora eu recomende levar tudo isso em consideração, há uma abordagem que lidaria com o exemplo específico postado por Brabster e que seria armazenar a chave em uma variável de ambiente . Dessa forma, tudo o que você precisa fazer é substituir a chave por uma variável do lado do servidor que está armazenada em seu projeto. No entanto, certifique-se de não enviar o arquivo que armazena a chave para um repositório público.
fonte
Você deve usar o lado posterior / servidor para proteger e manipular a chave. No meu caso, usei o lado do servidor Django f / w, que pode servir uma chamada ajax para obter a chave do script / db do servidor e, em seguida, passá-la para google api.
fonte