Google หมายถึงอะไรที่นี่เมื่อพวกเขาพูดว่า“ อย่าคัดลอกและวางรหัสนี้”


12

นี่คือข้อความที่ตัดตอนมาจากโค้ดจาก recaptcha API ของ 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);
})();

เหตุใด Google จึงไม่แนะนำให้คัดลอกและวางรหัสนี้ เป็นเพราะพวกเขาจะสูญเสียข้อมูลการติดตามหรือไม่

ฉันคิดว่ารหัสแทรกสคริปต์บนหน้า เพื่อหลีกเลี่ยงการเชื่อมต่ออื่นมันจะมีประโยชน์ในการคัดลอกและวางรหัสโดยตรง ตกลงไหม


12
ถ้าฉันต้องเดาฉันจะบอกว่าพวกเขากำลังพูดว่า "แทนที่จะวางโค้ดนี้ในหน้าเว็บของคุณให้ส่งมันมาจาก URL ของ URL แทนดังนั้นถ้าเราเปลี่ยนมันหน้าของคุณจะรับการเปลี่ยนแปลงโดยอัตโนมัติ"
Robert Harvey

2
มีถ้อยคำบางอย่างในคุณคัดลอกและวางโค้ดที่นี่คือ
แบรดโทมัส

คำตอบ:


25

โปรดสังเกตpo.srcบรรทัด: r20160314182818ดูเหมือนว่าจะเป็นเวลาประทับดังนั้นในกรณีนี้อาจให้เวอร์ชันที่ติดตั้งในวันที่ 3/14/2016 เวลา 6:28:18 น.

ฉันสงสัยว่าitบิตหมายความว่าคุณได้รับเวอร์ชันภาษาอิตาลีซึ่งหมายความว่าคุณได้รับเวอร์ชันapi.jsตามตำแหน่งทางกายภาพของคุณ โปรไฟล์ของคุณระบุว่าคุณเป็นชาวอิตาลีดังนั้นฉันจึงถือเป็นการยืนยัน

โปรดทราบว่าเมื่อฉันไปตามลิงก์ด้านบนจากแคลิฟอร์เนียบรรทัดนั้นจะมีลักษณะดังนี้:

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

สิ่งนี้หมายความว่าโดยทั่วไปคือ Google กำลังปรับใช้การเปลี่ยนแปลงกับ API นี้บ่อยครั้งมาก (เนื่องจากรุ่นที่ใช้งานนั้นมีอายุเพียงเก้าวัน) และขึ้นอยู่กับตำแหน่งของผู้ใช้ สิ่งนี้น่าจะเกิดขึ้นเนื่องจาก captchas เป็นเป้าหมายโดยตรงสำหรับวิศวกรรมย้อนกลับโดยผู้ที่มองหากระบวนการอัตโนมัติที่ captcha ปกป้องและเนื่องจาก captchas อาจมีคุณลักษณะที่มีความสำคัญทางวัฒนธรรม

หากคุณคัดลอกวางรหัสนี้หมายความว่า:

  1. คุณจะใช้ codebase ที่เป็นน้ำแข็งดังนั้นจึงไม่ได้รับประโยชน์จากการเปลี่ยนแปลงใด ๆ ที่ Google อาจทำ
  2. คุณกำลังบังคับให้ผู้ใช้ทั่วโลกใช้เวอร์ชันที่มีความหมายสำหรับสถานที่เฉพาะ บางทีผู้ใช้ภาษาญี่ปุ่นของคุณอาจมีปัญหากับ captchas ที่ออกแบบมาสำหรับชาวอิตาเลียน
  3. หาก Google ตัดสินใจที่จะลบการแก้ไขเฉพาะนั้นรหัสของคุณจะผิดพลาดอย่างสิ้นเชิง

เมื่อใช้ API ใด ๆ เป็นสิ่งสำคัญอย่างยิ่งที่ต้องยึดติดกับ API สาธารณะเสมอและไม่เคยใช้สิ่งใดเป็นส่วนตัวด้วยเหตุผลเช่นนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.