Firewall Rules API の JSON レスポンスは、次の構造です。
{
"id": "772bf1026a72c400ea576db1ffa16407",
"filter": {
"id": "6f58318e7fa2477a23112e8118c66f61",
"expression": "http.request.uri.path ~ \"^.*/wp-login.php$\" or http.request.uri.path ~ \"^.*/xmlrpc.php$\"",
"paused": false,
"description": "WordPress login paths",
"ref": ""
},
"action": "challenge",
"priority": 1000,
"paused": false,
"description": "Protect blog login page",
"ref": ""
}この表は、オブジェクトのプロパティをまとめたものです。
| 名前 | 説明 | 制約 |
|---|---|---|
idString | Cloudflare が生成する UUIDv4 識別子です。 | 一意、読み取り専用 長さ: 32 文字 |
filterObject | このルールを評価する式を含む Cloudflare Filter オブジェクト です。 | |
actionString | リクエストがこのルールのフィルター式を満たしたときに実行するアクションです。 | 対応する値の一覧は ファイアウォールルールのアクション を参照してください。 |
priorityNumber | 他のルールとの相対的な評価順を決めます。値が小さいほど優先度は高くなります。値がないルールは最後に評価されます。指針は 優先度の競合を避ける を参照してください。 | 読み取り専用 最大長: 32 |
pausedBoolean | ルールが無効のとき | デフォルト: |
descriptionString | ルールの概要です。 | 最大長: 500 文字 |
refString | ルールをタグ付けするための短い文字列です。 | 最大長: 50 文字 |
優先度は、ファイアウォールルールの設定で重要です。Cloudflare Filters では、次のような競合するルールを作れます。
- オフィスの IP 範囲からのリクエストを許可する
- 特定のユーザーエージェントのリクエストをブロックする
ブロック対象のユーザーエージェントを使うオフィス IP からのリクエストは、両方のルールに該当します。ただし、同じリクエストを許可とブロックの両方にはできません。この問題を解くため、ファイアウォールルールはアクションと優先度に応じた厳密な順序に従います。
Cloudflare は優先度を降順で扱います。優先度 1 が最初で、優先度のないルールは最後です。優先度が同じルールは、優先順位 に従ってアクション順に並べます。上の例で優先度を設定しない場合、allow は block より優先順位が高いため、allow request from the office IP range のルールが適用されます。
意図しない動作を減らすには、競合しうるルールに希望の優先度を明示してください。