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

API Gateway:ボット検出

最終更新日:Jan 09, 2025

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

プラグイン型

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

フィールド

項目

データ型

必須 / 任意

デフォルト値

説明

許可する

文字列の配列

非対象

-

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

否定

文字列の配列

非対象

-

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

blocked_code

数値

非対象

403

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

blocked_message

String

非対象

-

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

説明

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

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

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

許可フィールドを設定しない場合、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-aroute-bのルートを空の設定データで保存します。

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

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

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

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