JSONオブジェクト
ファイアウォールルール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のログインパス", "ref": "" }, "action": "challenge", "priority": 1000, "paused": false, "description": "ブログのログインページを保護する", "ref": ""}この表はオブジェクトのプロパティを要約しています:
優先度はファイアウォールルールの設定において重要な役割を果たします。Cloudflareフィルターを使用すると、次のような競合するルールを構築することが可能です:
- オフィスのIP範囲からのリクエストを許可し、
- 特定のユーザーエージェントを持つリクエストをブロックする。
オフィスのIP範囲からのリクエストがブロックするためのユーザーエージェントを使用している場合、両方のルールがトリガーされますが、リクエストを許可することとブロックすることは同時にできません。この問題を解決するために、ファイアウォールルールはアクションと優先度に応じて厳密な順序に従います。
Cloudflareはルールを降順で優先順位付けし、優先度1が最初で、優先度が設定されていないルールが最後になります。同じ優先度のルールについては、Cloudflareはその優先順位の順序に従ってアクションによって順序を決定します。上記の例では、優先度が設定されていない場合、オフィスのIP範囲からのリクエストを許可するルールが適用されます。なぜなら、allowアクションはblockよりも高い優先順位を持っているからです。
意図しない動作のリスクを減らすために、競合する可能性のあるルールに対して望ましい優先度を明示的に指定することが最善です。