Obtuve una clave API de Google Maps para mi dominio.
Los ejemplos proporcionados cuando obtuve mi clave muestran la clave incrustada en los parámetros de solicitud, por ejemplo:
<script src="http://maps.google.com/maps?file=api&v=2&sensor=true_or_false&key=my-key" type="text/javascript"></script>
Aprecio que el campo de referencia en las solicitudes debe coincidir con mi dominio, ¿es seguro hacer que mi clave sea visible en las etiquetas de secuencia de comandos y similares? ¿O hay otros pasos que debería tomar?
fuente
Hay una configuración en la consola de API de Google que puede proteger el uso de ancho de banda de su API para que no lo utilice otro dominio / usuario. Puede restringir y proteger eso mediante el uso de referencia en la consola de API. API Key rechazará las solicitudes sin referencias que coincidan con sus restricciones.
Aquí hay una captura de pantalla de Google para la clave API que solo Google puede usar en sus dos dominios.
fuente
Aunque esta pregunta tiene algunos años, es muy buena. Según tengo entendido, exponer las claves de API, incluso si coinciden con el dominio, podría dar lugar a un abuso. Aquí hay una publicación sobre Security Stack Exchange que cubre esto con más detalle.
Google ha publicado aquí los pasos que puede seguir para evitar posibles abusos:
Guía de prácticas recomendadas para utilizar API de forma segura: https://support.google.com/cloud/answer/6310037?hl=en
Aunque recomendaría tenerlo todo a bordo, existe un enfoque que se ocuparía del ejemplo específico que publicó Brabster y es almacenar la clave en una variable de entorno . De esta manera, todo lo que necesita hacer es sustituir la clave por una variable del lado del servidor que está almacenada dentro de su proyecto. Sin embargo, asegúrese de no enviar el archivo que almacena la clave a un repositorio público.
fuente
Debe utilizar el lado del servidor / back-end para proteger y manejar la clave. En mi caso, utilicé el lado del servidor Django f / w, que puede servir una llamada ajax para obtener la clave del script / db del servidor y luego pasarla a la api de Google.
fuente