Si alguien tiene la clave y un referente válido, puede usar la clave API de cualquier cliente siempre que el encabezado del referente establecido, ¿correcto?
Entonces, ¿vale la pena usar esta restricción?
Todas las medidas de seguridad son compensaciones. ¿El costo del control vale más o menos que el valor de lo que se está protegiendo, y cuánto más trabajo obliga al atacante a hacer?
Un candado en tu equipaje puede impedir que un ladrón ocasional abra tu bolsa para agarrar algo, pero no evitará que alguien robe tu bolsa. Pero el costo es bajo, por lo que sigue siendo un control de seguridad útil.
Entonces, solo porque un agente malintencionado podría copiar el encabezado del remitente, es posible que no tengan el tiempo o la inclinación para hacerlo. Piense en un encabezado de referencia válido como una pulsera de concierto. ¿Puedes forjarlos, o escabullirte alrededor del guardia revisando las pulseras? Claro que puedes, pero no hace que la banda sea inútil.
Aumenta el costo para el atacante.
Del mismo modo, su aplicación estándar, no modificada y de buen comportamiento dirá la verdad sobre la última página de la que vino y luego se le denegará el acceso a la API. Tal vez alguien que intente abusar de su servicio no sepa que está revisando los encabezados de los remitentes en el servidor y se rendirá.
Entonces, en respuesta a la pregunta de OP, "vale la pena" es un juicio de valor que solo usted puede hacer. ¿Cuánto esfuerzo te lleva comprobar el referente? Probablemente no mucho. ¿Qué tan valioso es proteger el uso de su clave API? Probablemente más. ¿Esa cantidad de esfuerzo de tu parte vale la pena que Speedbump colocará en el camino del atacante?
La última es tu llamada.
¿Cuál es el punto de restringir una clave de la API de Google por el referente HTTP?
Una aplicación web no puede forjar fácilmente su referente cuando emite solicitudes. Por lo tanto, restringir las referencias permitidas a una lista específica evita que otros sitios web utilicen su clave de API para sus propios servicios web y, por lo tanto, toque su cuota API. Es una característica útil que debería aprovechar.
Sin embargo, una aplicación que sea capaz de establecer sus propios encabezados de referencia obviamente no se verá afectada por esta restricción. Solo está destinado a proteger las aplicaciones web.
Si está permitiendo que alguien use la clave API de su cliente, básicamente no hay manera de evitar el uso indebido. Esto solo hace que sea lo suficientemente molesto como para disuadir a algunas personas. No se pierde nada con habilitarlo, pero no asuma que detendrá a cualquiera que esté determinado. Es un poco como medidas anti-modding en los videojuegos en línea.
Opinión: he visto muchos lugares, incluso Google Cloud Platform, que no he sido lo suficientemente claro acerca de lo que garantiza esta restricción de referencia de HTTP: no mucho.
Lea otras preguntas en las etiquetas google google-apps