Exposición de claves del API de Google Translate

A partir de hoy 1 de diciembre y desafortunadamente, la versión 2 del API de Google Translate se ha convertido definitivamente en un servicio de pago.

Esto significa que si tienes una aplicación que automáticamente traduce textos de un lenguaje a otro mediante el API de Google necesitarás obligatoriamente generar y utilizar una clave (API key) mediante una cuenta de Google y pagar según los precios y términos del servicio establecidos.

El "problema" es que Google Translate usa normalmente JavaScript y el código es visible para todo el mundo simplemente viendo el código HTML de la página. Por ejemplo:

var source = 'https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&callback=translateText&q=' + sourceText; newScript.src = source;

El riesgo es evidente, la clave está expuesta a todos y cualquiera puede reutilizarla en otro sitio, con los consiguientes cargos para su dueño.

La solución, comentada también por Google, es utilizar proxies inversos u otro código que llame a Google Translate desde el lado del servidor. Pero, ¿cuantos usuarios lo llevaran a cabo?, ¿cuantas claves están expuestas?, ¿cuantas?...

Comentarios