Apa maksud Google di sini ketika mereka mengatakan "jangan salin dan tempel kode ini"?

12

Berikut ini kutipan dari kode dari API recaptcha 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);
})();

Mengapa Google merekomendasikan untuk tidak menyalin dan menempelkan kode ini? Apakah karena mereka akan kehilangan informasi pelacakan?

Saya pikir kode tersebut memasukkan skrip pada halaman. Untuk menghindari koneksi lain akan sangat berguna untuk menyalin dan menempelkan kode secara langsung. Apakah ini ok?

CastenettoA
sumber
12
Jika saya menebak, saya akan mengatakan bahwa mereka mengatakan "Alih-alih menempelkan kode ini ke halaman Anda, sumber itu dari url API, sehingga, jika kami mengubahnya, halaman Anda akan secara otomatis mengambil perubahan."
Robert Harvey
2
Ada beberapa ironi dalam diri Anda menyalin dan menempelkan kode di sini
Brad Thomas

Jawaban:

25

Catat po.srcbarisnya: r20160314182818terlihat seperti stempel waktu, jadi dalam hal ini mungkin memberi Anda versi yang dikerahkan pada 3/14/2016 pada 6:28:18 PM.

Saya menduga itbit berarti Anda mendapatkan versi Italia, yang berarti Anda mendapatkan versi api.jsberdasarkan lokasi fisik Anda. Profil Anda menyebutkan Anda orang Italia, jadi saya menganggap ini sebagai konfirmasi.

Perhatikan bahwa ketika saya mengikuti tautan di atas dari California, garis itu terlihat seperti ini:

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

Apa artinya ini secara umum adalah bahwa Google sangat sering menerapkan perubahan pada API ini (mengingat bahwa versi yang digunakan hanya berusia sembilan hari) dan berdasarkan pada lokasi pengguna. Ini mungkin dilakukan karena captcha adalah target langsung untuk rekayasa balik oleh orang-orang yang ingin mengotomatiskan proses apa pun yang dilindungi captcha dan karena captcha mungkin memiliki fitur yang signifikan secara budaya.

Jika Anda menyalin, tempelkan kode ini, artinya:

  1. Anda akan menggunakan basis kode beku, dan karena itu tidak mendapat manfaat dari setiap perubahan yang mungkin dilakukan Google.
  2. Anda memaksa pengguna di seluruh dunia untuk menggunakan versi yang dimaksudkan untuk lokal tertentu. Mungkin pengguna Jepang Anda akan memiliki masalah dengan captcha yang dirancang untuk orang Italia.
  3. Jika Google memutuskan untuk menghapus revisi itu, kode Anda akan sepenuhnya rusak.

Saat menggunakan API apa pun, sangat penting untuk selalu berpegang pada API publik dan tidak pernah menggunakan sesuatu yang pribadi untuk alasan seperti ini.

Gort the Robot
sumber