JavaScript 検出
IBM Cloud® Internet Services (CIS) ボットの機能には、 JavaScript 検出が含まれます。 Googleの Picasso 指紋照合技法を使用して、少量の JavaScript
がクライアント・デバイスに注入されます。 ピカソの結果はボット・スコアに含まれ、 CIS がトラフィックを自動または人間として分類するのに役立ちます。 BotScoreSrc: Not Computed
および 0
のスコアは、Picasso JavaScript 指紋照合要求に関連します。 これらの要求は、ファイアウォール・ルールによってブロックされることはありません。
この検出技法は、 CISに到達したマシンに関する一般データを収集します。 例えば、特定のユーザーが MacBook Pro上の Google Chrome から CIS にアクセスしている場合、 Google Chrome を MacBook Pro上で使用しているユーザーが何百万人もいるため、 CIS は特定の個人を識別できません。 CIS は、プライバシーを強化するために、データの匿名化と段階的な廃止も行っています。
JavaScript は、AJAX 呼び出しを除き、HTML ページまたはページ・ビューの要求に対する応答としてのみ注入されます。 API とモバイル・アプリケーションのトラフィックは影響を受けません。 また、コードは、その 30 分のセッションの有効期限が切れるまで再度注入されることはありません。 Picasso スクリプトは約 70 KB であり、実行時間はデバイスによって異なります (90 ミリ秒から 500 ミリ秒程度)。
JavaScript のスニペットには、 /cdn-cgi/challenge-platform/...
で始まるパスを持つチャレンジ・プラットフォームを指すソースが含まれます。
JavaScript 検出を有効にする
無料トライアルプラン(Bot Fightモード)では、 JavaScript の検出は自動的に有効になり、無効にすることはできません。
その他のすべてのプラン (Super Bot フェルト・モードおよび Bot Management for Enterprise) では、 JavaScript 検出はオプションです。 設定を調整するには、 「セキュリティー」>「ボット」 に移動します。
JavaScript 検出の実行の強制
訪問者が以前に JavaScript 検出を実行して合格したことを確認するために、管理対象チャレンジ・アクションを実行するフィールド cf.bot_management.js_detection.passed
を使用してファイアウォール・ルールを作成できます。 (cf.bot_management.js_detection.passed)
を 「式のプレビュー」 セクションに単一の規則として入力します。
考慮事項
- コンテンツ・セキュリティー・ポリシー (CSP) を使用している場合:
-
/cdn-cgi/challenge-platform/
の下にあるものが許可されていることを確認します。 CSP は、起点ドメイン (script-src self
) から提供されるスクリプトを許可する必要があります。 -
CSP がスクリプト・タグに
nonce
を使用する場合、 CIS は CSP 応答ヘッダーを構文解析して注入するスクリプトにこれらの nonce を追加します。 -
CSP がスクリプト・タグに
nonce
を使用せず、 JavaScript 検出が有効になっている場合、次のようなコンソール・エラーが表示されることがあります。Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-b123b8a70+4jEj+d6gWI9U6IilUJIrlnRJbRR/uQl2Jc='), or a nonce ('nonce-...') is required to enable inline execution.
-
unsafe-inline
の使用はお勧めできません。 代わりに、CDN で解析およびサポートされるスクリプト・タグで CSPnonces
を使用することをお勧めします。
-