すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:bot-detect

最終更新日:Jan 08, 2025

bot-detect プラグインは、Webクローラーを識別し、Webクローラーによる Webサイトのクロールを防止するために使用されます。このトピックでは、bot-detect プラグインを設定する方法について説明します。

プラグインの種類

セキュリティ保護プラグイン。

フィールド

名前

データ型

必須

デフォルト値

説明

allow

文字列の配列

いいえ

-

User-Agent リクエストヘッダーの照合に使用される正規表現。User-Agent リクエストヘッダーが一致する場合、リクエストは許可されます。

deny

文字列の配列

いいえ

-

User-Agent リクエストヘッダーの照合に使用される正規表現。User-Agent リクエストヘッダーが一致する場合、リクエストはブロックされます。

blocked_code

数値

いいえ

403

リクエストがブロックされた場合に返される HTTP ステータスコード。

blocked_message

文字列

いいえ

-

リクエストがブロックされた場合に返される HTTP レスポンス本文。

説明

allow フィールドと deny フィールドが設定されていない場合は、クローラーを識別するためのデフォルトロジックが実行されます。allow フィールドを設定して、デフォルトのクローラー識別ロジックに一致するリクエストを許可できます。deny フィールドを設定して、追加のクローラー識別ロジックを追加できます。

設定例

デフォルトのクローラー識別ロジックに一致するリクエストを許可する

allow:
- ".*Go-http-client.*"

allow フィールドを設定しない場合、Golang Webライブラリリクエストはクローラーと見なされ、リクエストはブロックされます。

クローラー識別ロジックを追加する

deny:
- "spd-tools.*"

上記の設定に基づいて、次のリクエストはブロックされます。

curl http://example.com -H 'User-Agent: spd-tools/1.1'
curl http://exmaple.com -H 'User-Agent: spd-tools'

特定のルートまたはドメイン名に対してセキュリティ保護ルールを有効にする

route-a ルートと route-b ルートを空の設定データで保存します。

次のプラグイン設定を *.example.com ドメイン名と test.com ドメイン名に適用します。

  allow:
  - ".*Go-http-client.*"
説明
  • route-a ルートと route-b ルートは、ゲートウェイルートの作成時に指定されたルートです。クライアントリクエストがルートのいずれかと一致する場合、一致したルートの組み込みのデフォルトルールを使用して Webクローラーが識別されます。

  • *.example.com ドメイン名と test.com ドメイン名は、リクエスト内のドメイン名と照合するために使用されます。クライアントリクエストがドメイン名のいずれかと一致する場合、一致したドメイン名に設定されているルールが有効になります。

  • 設定したルールは順番に有効になります。最初のルールが一致すると、後続のルールは無視されます。