スパム対策エンジンの例外の設定
English version: Configuring exceptions for the anti-spam engine
通常、フォームを送信したり、プログラムで POST リクエストを送信したりしてウェブサイトと通信するテクノロジーを使用する場合は、スパム対策の例外を設定する必要があります。このような場合、WP Cerber は正当なリクエストをボットによって生成されたものとして認識できるため、正当なリクエストをブロックする可能性があります。これにより誤検知が発生し、アクティビティ タブで確認できます。このようなログ エントリは、スパム フォーム送信拒否としてマークされます。
特定のリクエストを検査から除外する方法
すべてのスパム対策例外は、スパム対策設定ページで設定されます。URL ベースの例外と、HTTP ヘッダーをチェックして考慮する例外の 2 種類の例外を設定できます。
URL ベースの例外を設定するには、 「スパムのスキャンからこれらの場所を除外する」設定フィールドを使用します。 複数の例外をそれぞれ別の行に指定できます。
仕組みは次のとおりです。特定のリクエストを除外するには、そのリクエストのパス (および必要に応じてクエリ文字列) をフィールドに追加するだけです。アンチスパム エンジンは、URL 内の場所に関係なく、パスにこれらの指定された文字列のいずれかが含まれるリクエストを無視します。これにより、重要なリクエストがスパム フィルターによってブロックされることなく通過することを保証できます。
例外をさらに細かく制御する必要がある場合は、正規表現 (REGEX) を使用して、より正確な URL ベースのマッチング パターンを定義できます。これは、パスやクエリ文字列の特定のバリエーションに基づいてリクエストを除外する必要がある場合に役立ちます。正規表現の使用と効果的な例外の作成に関するその他のヒントについては、以下の追加情報を確認してください。
シンプルなスパム対策例外の例
スパム対策例外の設定を開始する際に役立つように、 「スパムのスキャンからこれらの場所を除外する」フィールドに追加できる一般的な URL パスの種類を次に示します。
1. GETパラメータやスクリプトのないシンプルなパス
WordPress で特定のパスを除外したい場合は、単純な文字列として追加できます。アンチスパム エンジンは、URL のどこに表示されていても、これらのパスのいずれかを部分文字列として含むリクエストのスキャンをスキップします。
例:
-
"/about"
-
"/contact/"
-
"/add/new/product"
これらのエントリにより、URI 内の場所に関係なく、これらのパスを含むすべての URL がスパム スキャンから除外されます。
2. GETパラメータのないPHPスクリプト名
特定の PHP スクリプトを除外したい場合は、スクリプトとそのパスを指定するだけです。これは、スパム対策エンジンで検査すべきでない特定のスクリプトがある場合に特に役立ちます。エンジンは、URL で指定されたファイル名を見つけて、これらのスクリプトを照合します。
例:
-
"/index.php"
-
"/engine/products.php"
-
"search.php"
このタイプの例外は柔軟性があり、ルート ディレクトリ内のスクリプトとサブディレクトリ内にネストされたスクリプトの両方をカバーします。
3. GETパラメータを含むパス
例外で特定のパスと特定のクエリ パラメータの両方を考慮する必要がある場合は、フィールドに完全な GET パラメータを含むパスを追加できます。アンチスパム エンジンは、パラメータを含む完全な文字列がリクエスト URI で見つかった場合にのみ例外を適用します。これは、パスとクエリの詳細の両方に基づいて正確に一致させるのに最適です。
例:
-
"/store/products.php?id=10"
-
"/wp/?query="
-
"/wp-admin/process.php?item=5&action=add"
このタイプの設定により、正確なパラメータを持つリクエストが除外されるため、より対象を絞った例外に役立ちます。
これらの例を使用すると、さまざまな種類の例外を設定して、重要なリクエストを WP Cerber のスパム フィルタリングから保護しながら、WordPress の他の領域全体で徹底したスパム保護を維持できます。
正規表現による高度なスパム対策例外
スパム対策例外をより柔軟かつ強力に制御するには、正規表現 (REGEX) を使用して、特定の種類のリクエストに一致するパターンを定義します。REGEX ベースの例外を使用すると、パスやクエリ パラメータで同様の構造や動的要素を共有するリクエストを正確に除外できる高度な柔軟性が得られます。
「これらの場所をスパムスキャンから除外する」フィールドで正規表現パターンを指定すると、WP Cerber アンチスパム エンジンはそれを柔軟な一致条件として扱います。リクエスト URI がパターンに一致すると、スパムスキャンから除外されます。リクエストの完全な URI は、Traffic Inspector ログ ページで確認できます。
REGEX ベースの例外を指定するには、パターンを {} で囲みます。
正規表現ベースのスパム対策例外の例
各パターンを{}
で囲むことを忘れないでください。そうすることで、WP Cerber はそれを REGEX 式として認識します。注: パターンでリテラルドット ( .
) またはリテラル疑問符 ( ?
) を指定するには、次のようにバックスラッシュ ( \
) でエスケープする必要があります: \.
および\?
。
1. 特定の開始点を持つパスを除外する
特定のパスで始まるすべてのリクエストを除外する場合は、REGEX を使用すると、指定したセグメントで始まる任意の URI を一致させることができます。
- 例:
{^/processor/.*$}
- このパターンは、後に続く内容に関係なく、
/admin/
で始まるすべてのリクエストを除外します。同じパスの下に複数の動的ページまたはアクションを含むディレクトリに最適です。
2. 数値IDを持つパスを除外する
動的な数値 ID を含むパスをターゲットにするには、REGEX を使用して特定の場所にある一連の数字を一致させます。
- 例:
{^/handler/[0-9]+$}
- このパターンは、ID は変化するが数値のままである
/handler/123
や/handler/456
などのパスと一致します。これは、一意の数値識別子に依存する URL に役立ちます。
3. 部分的なクエリパラメータに基づいて除外する
また、REGEX を使用してクエリ文字列内の特定のパターンを一致させることもできます。これにより、正確な値を必要とせずに特定のパラメータを含むリクエストを除外できるようになります。
- 例:
{^/submit\.php\?query=.*$}
- このパターンは、実際の値に関係なく、
query
パラメータが存在するsubmit.php
へのすべてのリクエストに一致します。
4. オプションパラメータによる柔軟な URL パス
REGEX を使用すると、パスまたはクエリ文字列内のオプションのセグメントを考慮することができ、除外する対象をより柔軟に定義できます。
- 例:
{^/products/?(.*)$}
- このパターンは、
/products/details
や/products/123
などの追加のサブパスの有無にかかわらず、 //products
へのリクエストに一致します。WordPress のセクション全体にわたる広範な例外に最適です。
REGEX パターンを使用すると、複雑なリクエストや可変のリクエストに合わせてスパム対策例外を定義し、スパム スキャンをバイパスする URL を正確に制御できます。
リクエストURIを識別する方法
Live Traffic管理ページに移動します。ホワイトリストに追加する必要がある正当なリクエストを見つけて、そのリクエスト URI をリクエスト列から取得します。リクエスト URI に以下のスクリーンショットのように動的な GET パラメータが含まれている場合は、正規表現を使用する必要がある場合があります。
選択したページでスパム対策を無効にする方法
外部ソースから読み込まれ、サードパーティのウェブサイトで処理されるサードパーティフォームとの競合を回避するには、ウェブサイトの選択したページで WP Cerber のアンチスパムのコードを無効にして、例外を設定できます。ページのリストは、PHP 定数CERBER_DISABLE_SPAM_FILTERで指定します。この定数は、wp-config.php ファイルで定義する必要があります。ページ (投稿) ID を含むコンマ区切りの文字列を使用します。リストが設定されている場合は、WP Cerber アンチスパム設定管理ページにページのリストが表示されます。リスト定義の例を次に示します。
define('CERBER_DISABLE_SPAM_FILTER', '3, 45');
ウェブサイトに HubSpot フォームがある場合は、この機能を使用する必要があるかもしれません。