リファラーベースのホットリンク保護とは、リファラーヘッダーに基づくアクセス制御を指します。 リファラーホワイトリストまたはブラックリストを設定してアクセスを制御し、リソースを不正アクセスから保護できます。 リファラーホワイトリストまたはブラックリストを設定した後、 DCDNはリファラーヘッダーに基づいてリクエストを許可または拒否します。
重要
デフォルトでは、 DCDNではリファラーベースのホットリンク保護は無効です。 つまり、すべてのWebサイトがリソースにアクセスできます。
リファラーベースのホットリンク保護は、データ送信の悪用を防ぐ方法です。 保護方法の詳細については、「データ送信の不正使用の防止」をご参照ください。
ドメイン名をリファラーホワイトリストまたはブラックリストに追加すると、ドメイン名と一致するワイルドカードドメイン名が自動的にホワイトリストまたはブラックリストに追加されます。 たとえば、リファラーホワイトリストまたはブラックリストにaliyundoc.com
を追加すると、* .aliyundoc.com
に一致するすべてのドメイン名に対してホットリンク保護が有効になります。
シナリオ
リファラーホワイトリストまたはブラックリストは、次のシナリオに適しています。
著作権保護: Webサイトの著作権で保護されたコンテンツを保護するために、リファラーホワイトリストまたはブラックリストを使用して、許可されたWebサイトのみがコンテンツにアクセスできるようにします。
ホットリンク保護: リファラーホワイトリストまたはブラックリストは、リソースが他のWebサイトで使用されないようにすることができます。
強化されたWebサイトのセキュリティ: リファラーホワイトリストに含まれているドメイン名のみがWebサイトリソースにアクセスできます。 これにより、機密情報の悪意のあるホットリンクや盗難を防ぎます。
トラフィックソース管理: リソースの使用を許可されているドメインを管理できます。 これにより、Webサイトのセキュリティと安定性が保証されます。
さまざまなシナリオでホットリンク保護機能を使用して、Webサイトの資産を保護し、トラフィックを管理し、Webサイトのセキュリティを向上させることができます。
制御ポリシー機能の動作
サーバーは各リクエストのRefererフィールドをチェックし、リクエストのRefererフィールドが事前設定されたホワイトリストと一致しない場合はリクエストを拒否します。 これにより、帯域幅とサーバーリソースを節約できます。 DCDNのリファラールール:
手順
DCDNコンソール
左側のナビゲーションウィンドウで、ドメイン名.
ドメイン名ページで、管理するドメイン名を見つけて、設定.
ドメイン名の左側のナビゲーションツリーで、アクセス制御.
リファラー Anti-leechタブ、オンにするリファラー Anti-leech.
選択ブラックリストまたはホワイトリストビジネス要件に基づいて。
パラメーター | 説明 |
タイプ | 説明 ブラックリストとホワイトリストは互いに排他的です。 一度に設定できるリストのタイプは1つだけです。 |
ルール | リファラーホワイトリストまたはブラックリストに複数のドメイン名を追加できます。 1行につき1つのドメイン名を入力します。 ドメイン名の前にスペースを追加しないでください。 アスタリスク (*) をワイルドカードとして使用できます。 たとえば、* .developer.aliyundoc.com をホワイトリストまたはブラックリストに追加すると、image.developer.aliyundoc.com とvideo.developer.aliyundoc.com を照合できます。
説明 [ルール] フィールドに入力する内容は、60 KBを超えることはできません。 |
リダイレクトURL | リクエストがブロックされると、HTTPステータスコードが302され、Locationヘッダーが返されます。 このパラメーターは、Locationヘッダーの値です。 値はhttp:// またはhttps:// ( http://www.example.com など) で始める必要があります。 |
詳細設定 | ブラウザからリソース URL へのアクセスを許可します。 | デフォルトでは、チェックボックスは選択されていません。 チェックボックスをオンにすると、リファラーホワイトリストとブラックリストのどちらを設定しても、空のリファラーヘッダーを含むリクエストはDCDNリソースにアクセスできます。 空のRefererヘッダーは、次のいずれかのシナリオを示唆します。 |
完全一致 | このチェックボックスはデフォルトでは选択されていません。 このチェックボックスをオンにすると、サブドメインは一致しません。 たとえば、ホワイトリストまたはブラックリストにexample.com を追加すると、example.com のみが照合されます。 |
スキームを無視 | |
クリックOK.
マッチングロジック
次の表に、Refererヘッダーの一致ロジックを示します。 リクエストのリファラーヘッダーがホワイトリストと一致しないか、ブラックリストと一致する場合、 DCDNはリクエストを拒否し、HTTPステータスコード403を返します。
設定済みドメイン名 | リクエストのリファラーヘッダー値 | 一致した | 説明 |
設定済みドメイン名 | リクエストのリファラーヘッダー値 | 一致した | 説明 |
www.example.com *.example.com
| http://www.example.com/img.jpg | 対象 | リファラーヘッダーのドメイン名は、リファラーホワイトリストまたはブラックリストのドメイン名と一致します。 |
http://www.example.com:80/img.jpg | 対象 |
www.example.com | 非対象 | リクエストのRefererヘッダーの値には、HTTPまたはHTTPS文字列が含まれていません。 |
http://aaa.example.com | 対象 | リファラーヘッダーのサブドメインは、リファラーホワイトリストまたはブラックリストのワイルドカードドメイン名でカバーされます。 |
http://aaa.bbb.example.com | 対象 |
http://example.com | 非対象 | リファラーヘッダーのドメイン名が、リファラーホワイトリストまたはブラックリストのワイルドカードドメイン名と一致しません。 これは、ワイルドカードドメインがサブドメインと一致するが、ルートドメインをカバーしないためです。 |
http://www.example.net | 一致するルールなし | リファラーヘッダーのドメイン名は、ブラックリストまたはホワイトリストに含まれていません。 したがって、リクエストはデフォルトのルールに従って許可されます。 |
よくある質問
リクエストのRefererヘッダーにHTTPまたはHTTPS文字列が時々ないのはなぜですか?
ほとんどの場合、HTTPまたはHTTPS文字列はリクエストのRefererヘッダーに含まれます。
ただし、ブラウザがHTTPSを使用しないWebサイトからHTTPSを使用するWebサイトにリクエストをナビゲートする場合、ブラウザはRefererヘッダーにドメイン名のみを表示することがあります。 これは、Referrer-Policyなどのセキュリティポリシーに基づいて機密ユーザーデータを保護するためです。
さらに、一部のブラウザまたはプロキシサーバーでは、プライベートブラウジングモードでのアクセスや匿名プロキシの使用など、特定のシナリオでリファラー文字列が自動的に除外される場合があります。
したがって、実際には、ホットリンク保護を設定するときにHTTPまたはHTTPSがリファラーヘッダーに含まれないシナリオに注意してください。
リクエストでRefererヘッダーが空になるのはなぜですか? 問題を解決するにはどうすればよいですか?
ほとんどの場合、リクエスト内のRefererヘッダーには、http
やhttps
などのプロトコル、ホスト名、場合によってはパスとクエリ文字列を含む完全なURIが含まれます。 リクエストのRefererヘッダーは、次の理由により空になることがあります。
直接アクセス: ユーザーがブラウザーのアドレスバーにURLを入力したり、ブックマークを使用したり、新しい空白のブラウザータブを開いたりすると、参照ページが存在しないため、Refererヘッダーは空になります。
ユーザープライバシー設定: ユーザーはプライベートブラウジングモードを設定するか、プライバシー重視の拡張機能を使用して、プライバシーの懸念からリファラーヘッダーを削除します。
セキュリティプロトコル: リクエストがHTTPSページからHTTPページにリダイレクトされた場合、ブラウザは機密情報の漏洩を防ぐためにRefererヘッダーを表示しません。
クライアントポリシー: セキュリティ上の理由から、一部のWebサイトまたはアプリケーションでは、<meta>
タグまたはReferrer-policy
などのHTTPヘッダーを指定して、ブラウザによるRefererヘッダーの送信を制限できます。
クロスオリジンリクエスト: ブラウザのセキュリティポリシーに基づいて、特定のクロスオリジンリクエストにリファラーヘッダーが含まれていない場合があります。
対処方法は、シナリオやセキュリティ要件によって異なります。
デフォルトポリシー: サービスがRefererヘッダーに依存していない場合、空のRefererヘッダーを持つリクエストを許可できます。
アクセスを許可: 特定のURLまたはソースについては、ユーザーがブラウザのアドレスバーからリソース URL に直接アクセスできるようにします。 を選択して、これらのURLまたはソースからのリクエストのみを許可できます。 このように、POPは、Refererヘッダーが空であるかどうかに関係なく、ユーザーがリソースにアクセスできるようにします。