web-dev-qa-db-ja.com

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

これは、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
CastenettoA

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

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を使用し、このような理由でプライベートを使用しないことが非常に重要です。

25
Gort the Robot