Che cosa significa Google qui quando dicono "non copiare e incollare questo codice"?


12

Ecco un estratto dal codice dell'API recaptcha di 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);
})();

Perché Google consiglia di non copiare e incollare questo codice? È perché perderebbero le informazioni di tracciamento?

Penso che il codice inserisca uno script nella pagina. Per evitare un'altra connessione, sarebbe utile copiare e incollare direttamente il codice. Va bene?


12
Se dovessi indovinare, direi che stanno dicendo "Invece di incollare questo codice nella tua pagina, procuralo invece dall'URL dell'API in modo che, se lo cambiamo, la tua pagina rileverà automaticamente le modifiche".
Robert Harvey,

2
C'è dell'ironia nel copiare e incollare il codice qui
Brad Thomas,

Risposte:


25

Nota la po.srclinea: r20160314182818sembra essere un timestamp, quindi in questo caso probabilmente ti sta dando la versione che è stata distribuita il 14/03/2016 alle 18:28:18 PM.

Ho il sospetto che il itbit significhi che stai ottenendo la versione italiana, il che significa che stai ottenendo una versione api.jsbasata sulla tua posizione fisica. Il tuo profilo afferma che sei italiano, quindi l'ho preso come conferma.

Nota che quando seguo il link sopra dalla California, quella linea appare così:

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

Ciò significa in generale che Google sta implementando modifiche a questa API molto spesso (dato che la versione distribuita ha solo nove giorni) e in base alla posizione dell'utente. Ciò è probabilmente dovuto al fatto che i captcha sono un obiettivo diretto per il reverse engineering da parte di persone che cercano di automatizzare qualsiasi processo protetto dai captcha e perché i captcha possono avere caratteristiche culturalmente significative.

Se copi incolla questo codice, significa:

  1. Utilizzerai una base di codice bloccata e pertanto non trarrai alcun vantaggio da eventuali modifiche apportate da Google.
  2. Stai costringendo gli utenti di tutto il mondo a utilizzare una versione pensata per una determinata locale. Forse i tuoi utenti giapponesi avranno problemi con captcha progettati per gli italiani.
  3. Se Google decide di rimuovere quella particolare revisione, il tuo codice si romperà completamente.

Quando si utilizza qualsiasi API, è molto importante attenersi sempre all'API pubblica e non utilizzare mai nulla di privato per motivi come questo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.