Cookie Access Rules

最終更新日:2024-07-12 18:12:27

Cookie は、特定の Web サイトによりユーザーのローカル デバイスに保存されるデータで、ユーザーの ID を識別し、セッション トラッキングを実行します。ユーザーが同じウェブサイトを再訪すると、元の Cookie がサーバーに送信されます。したがって、このヘッダーに基づいてアクセス制御を実行できます。CDN エッジサーバーがクライアントからのリクエストを受信すると、HTTPリクエストヘッダーのCookieフィールドを確認し、特定のルールに準拠するユーザー リクエストを許可または拒否します。

Cookie ブラックリストとホワイトリストの設定方法

  1. CDNetworksコンソールにログインし、適切な製品を選択します。
  2. Configurationに移動し、設定したいドメインを見つけて、Edit ConfigurationSelf-Service Configuration for China Premium Service Onboardingをクリックします。
  3. 左サイドバーのHotlink Protection - Cookie Anti-Hotlinkingに移動してAddをクリックします。
  4. 必要に応じて以下のように設定します。

Effective Range
これは、Cookie ルールが適用されるリクエストの範囲を定義します。以下のオプションから選択できます:

設定 説明
All Requests アクセス制御ルールはすべての種類のリクエストに適用されます。
Only Homepage http://domain/https://domain/ のようなドメインのルートディレクトリにのみ適用されます。
Specified File Type 特定のタイプのファイルにのみ適用されます。左側にある事前定義されたファイルタイプから選択するか、カスタムファイルタイプを定義できます。複数のカスタムタイプはセミコロン;(例: jpg;png)で区切ります。
Specified URI 特定のURIのコンテンツに対するリクエストにのみ適用されます。2つのURIマッチングオプションがあります:
Exact matching: パラメータを含む完全なURI(例: path/index.html?abc=123)。
Ignore the parameter matching: クエリ パラメータを含まないないURI(例: path/index.html)。
Specified Directory 特定のディレクトリ下のリクエストに適用されます。例えば、/file/abc/はhttp://domain/file/abc/*の下の全てのコンテンツに適用されます。
注意:ディレクトリは/で始まり/で終わる必要があり、文字、数字、特定の特殊文字(アンダースコア、ハイフン、パーセント記号、ドット)のみを含むことができます。複数のディレクトリは改行で区切る必要があります。
URL Pattern 正規表現を使用して、ルールが適用されるリクエストの範囲を制御します。例えば、パターン*.jpg$は、.jpgで終わるすべてのURLにアクセス制御が適用されます。

Cookie Type
Cookieブラックリスト または ホワイトリスト を設定できます:

タイプ 説明
Cookie Blacklist リクエストのCookie が特定の内容を含んでいる場合、アクセスが拒否されます。
Cookie Whitelist リクエストのCookie が特定の内容を含んでいる場合のみ、アクセスが許可されます。

ヒント
ブラックリストやホワイトリストを設定する際は、正規表現を使用します。例えば、GOOGLE=70238C3Eという表現は、Cookie に GOOGLE=70238C3E が含まれるすべてのリクエストと一致します。
システムは1つのホワイトリストルールのみをサポートしています。複数のCookie ルールが必要な場合は、これらすべてをこの単一のホワイトリストに含める必要があります。

Action
Cookie が設定されたルールを満たさず、リクエストがCDNによって拒否された場合、直接エラーコードを返すか、別のURLにリダイレクトするかを選択します:

  • Deny Access: CDNはリクエストを403エラーで拒否します。
  • Redirect URL: CDNはリクエストを別のURLにリダイレクトします。

Allow NULL Cookie
ホワイトリストが既に存在する場合でも、空のCookie を持つリクエストのアクセスを許可するかどうか。

Priority
複数のアクセス制御ルールが設定されている場合、CDNはそれらを優先度に基づいて実行します。数字が大きいほど優先度が高くなります。

設定を完了したら、OKをクリックし、次にNextを選択して設定を送信してください。本番環境への潜在的な中断を最小限に抑えるために、ステージング環境でのPre-deployテストを強くお勧めします。この重要なステップにより、設定が正確であることが本番環境に移行する前に保証されます。設定の正確性が確認されたら、Deploy Nowをクリックして本番環境に実装します。設定は通常、3-5分以内に有効になります。Pre-deployテストに関する包括的なガイダンスと、設定の有効性を確認するには、チュートリアルDeploy the Configurations to Staging Environment for Validationを参照してください。

Best Practice

例1: Cookie ブラックリストの設定
Cookie にaaaを含む全てのリクエストに対してアクセスを拒否します。

別のケースでは、Cookie にbbbまたはcccを含む全てのリクエストに対してアクセスを拒否します。

例2: Cookie ホワイトリストの設定
Cookie にaaaまたはbbbを含む全てのリクエストに対してのみアクセスを許可します。

注意事項

Cookie ブラックリストとホワイトリストを同時に設定しないでください。これはCDNへのアクセスが全て拒否され、オンライン操作に影響を与える可能性があるためです。例えば、下記のようにCookie ブラックリストとホワイトリストの両方を設定すると、全てのアクセスが拒否されることになります。

なぜ全てのアクセスが拒否されるのか?

  1. リクエストがCookie 値aaaを持っている場合、それはCookie ブラックリストのルールに一致し、CDN はアクセスを拒否します。
  2. Cookie 値aaaを持たないリクエストは、ブラックリストによって拒否されませんが、ホワイトリスト(Cookie にaaaを含むリクエストのみアクセスを許可)の条件を満たさないため、同様に拒否されます。

ブラックリストとホワイトリストの両方を設定する必要がある場合は、適切な設定を確実に行うために、弊社のテクニカル サポートにご連絡ください。