¿Qué quiere decir Google aquí cuando dicen "no copie y pegue este código"?

12

Aquí hay un extracto del código de la API de recaptcha de Google ( https://www.google.com/recaptcha/api.js ):

/* PLEASE DO NOT COPY AND PASTE THIS CODE. */
(function() {
    if (!window['___grecaptcha_cfg']) { 
        window['___grecaptcha_cfg'] = {}; 
    };
    if (!window['___grecaptcha_cfg']['render']) { 
        window['___grecaptcha_cfg']['render'] = 'onload'; 
    };
    window['__google_recaptcha_client'] = true;
    var po = document.createElement('script'); 
    po.type = 'text/javascript'; 
    po.async = true;
    po.src = 'https://www.gstatic.com/recaptcha/api2/r20160314182818/recaptcha__it.js';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(po, s);
})();

¿Por qué Google recomienda no copiar y pegar este código? ¿Es porque perderían la información de seguimiento?

Creo que el código inserta un script en la página. Para evitar otra conexión, sería útil copiar y pegar el código directamente. ¿Esta bien?

CastenettoA
fuente
12
Si tuviera que adivinar, diría que están diciendo "En lugar de pegar este código en su página, obtenga el código de la URL de la API para que, si lo cambiamos, su página recoja automáticamente los cambios".
Robert Harvey
2
Hay algo de ironía en copiar y pegar el código aquí
Brad Thomas, el

Respuestas:

25

Tenga en cuenta la po.srclínea: r20160314182818parece ser una marca de tiempo, por lo que en este caso probablemente le esté dando la versión que se implementó el 14/03/2016 a las 6:28:18 p.m.

Sospecho que el itbit significa que está obteniendo la versión italiana, lo que significa que está obteniendo una versión api.jsbasada en su ubicación física. Tu perfil menciona que eres italiano, así que tomé esto como confirmación.

Tenga en cuenta que cuando sigo el enlace anterior de California, esa línea se ve así:

 po.src = 'https://www.gstatic.com/recaptcha/api2/r20160314182818/recaptcha__en.js'

Lo que esto significa en general es que Google está implementando cambios en esta API muy a menudo (dado que la versión implementada tiene solo nueve días) y se basa en la ubicación del usuario. Esto probablemente se haga porque los captchas son un objetivo directo para la ingeniería inversa por parte de personas que buscan automatizar cualquier proceso que proteja el captcha y porque los captchas pueden tener características culturalmente significativas.

Si copia y pega este código, significa:

  1. Utilizará una base de código congelada y, por lo tanto, no obtendrá ningún beneficio de los cambios que Google pueda hacer.
  2. Estás obligando a los usuarios de todo el mundo a usar una versión destinada a un entorno local particular. Quizás sus usuarios japoneses tengan problemas con captchas diseñados para italianos.
  3. Si Google decide eliminar esa revisión en particular, su código se romperá por completo.

Cuando se usa cualquier API, es muy importante siempre apegarse a la API pública y nunca usar nada privado por razones como esta.

Gort the Robot
fuente