O que o Google quer dizer aqui quando dizem "não copie e cole este código"?

12

Aqui está um trecho do código da API recaptcha do 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 que o Google recomenda não copiar e colar este código? É porque eles perderiam informações de rastreamento?

Eu acho que o código insere um script na página. Para evitar outra conexão, seria útil copiar e colar o código diretamente. Tudo bem?

CastenettoA
fonte
12
Se eu fosse adivinhar, diria que eles estão dizendo "Em vez de colar esse código em sua página, origine-o a partir do URL da API, para que, se o alterarmos, sua página capturará automaticamente as alterações".
Robert Harvey
2
Há alguma ironia em que você copiar e colar o código aqui
Brad Thomas

Respostas:

25

Observe a po.srclinha: r20160314182818parece ser um carimbo de data / hora; portanto, nesse caso, provavelmente está fornecendo a versão que foi implantada em 14/03/2016 às 18:28:18.

Eu suspeito que o itbit significa que você está obtendo a versão em italiano, o que significa que você está obtendo uma versão com api.jsbase em sua localização física. Seu perfil menciona que você é italiano, então tomei isso como confirmação.

Observe que, quando sigo o link acima da Califórnia, essa linha fica assim:

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

O que isso significa em geral é que o Google está implantando alterações nesta API com muita frequência (considerando que a versão implantada tem apenas nove dias) e com base na localização do usuário. Provavelmente, isso é feito porque os captchas são um alvo direto da engenharia reversa por pessoas que procuram automatizar qualquer processo que o captcha proteja e porque os captchas podem ter recursos culturalmente significativos.

Se você copiar e colar este código, significa:

  1. Você usará uma base de código congelada e, portanto, não obterá nenhum benefício de quaisquer alterações que o Google possa fazer.
  2. Você está forçando os usuários em todo o mundo a usar uma versão destinada a um código de idioma específico. Talvez seus usuários japoneses tenham problemas com captchas projetados para italianos.
  3. Se o Google decidir remover essa revisão específica, seu código será completamente quebrado.

Ao usar qualquer API, é muito importante sempre manter a API pública e nunca usar nada privado por razões como essa.

Gort the Robot
fonte