ここで「このコードをコピーして貼り付けないでください」と言うとき、Googleはどういう意味ですか?


12

以下は、Googleのrecaptcha API(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
推測するなら、「このコードをページに貼り付ける代わりに、APIのURLからソースを変更して、変更するとページが自動的に変更を反映するようにする」と言っていると思います。
ロバートハーベイ

2
いくつかの皮肉がここにコードをコピーして貼り付けるあなたの中にある
ブラッド・トーマス

回答:


25

po.src行に注意してください: r20160314182818タイムスタンプであるように見えるので、この場合、おそらく3/14/2016の6:28:18 PMにデプロイされたバージョンを提供しています。

私はitビットがあなたがイタリア語バージョンを得ていることを意味すると思う、それはあなたがapi.jsあなたの物理的な場所に基づくバージョンを得ていることを意味する。あなたのプロフィールはあなたがイタリア人であると述べているので、私はこれを確認とみなしました。

カリフォルニアから上記のリンクをたどると、その行は次のようになります。

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

これが一般的に意味することは、ユーザーの場所に基づいて、GoogleがこのAPIへの変更を非常に頻繁に展開することです(展開されたバージョンはわずか9日です)。これは、キャプチャが保護するプロセスを自動化しようとする人々が、キャプチャが文化的に重要な機能を持っている可能性があるため、キャプチャがリバースエンジニアリングの直接のターゲットであるために行われる可能性があります。

このコードをコピーして貼り付けると、次のことを意味します。

  1. 凍結されたコードベースを使用するため、Googleが行う可能性のある変更のメリットは得られません。
  2. 世界中のユーザーに特定のロケール向けのバージョンの使用を強制しています。おそらく、日本のユーザーはイタリア人向けに設計されたキャプチャで問題を抱えているでしょう。
  3. Googleがその特定のリビジョンを削除することを決定した場合、コードは完全に破損します。

APIを使用するときは、常にパブリックAPIに固執し、このような理由でプライベートなものを使用しないことが非常に重要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.