Hotlink Protection は、他サイトによる画像の利用を防ぎます。これにより、オリジンサーバー ↗ が消費する帯域を減らせます。
対応しているファイル拡張子は gif、ico、jpg、jpeg、png です。
Cloudflare がサイトへの画像リクエストを受け取ると、そのリクエストが他サイトの訪問者から来ていないかを確認します。自ドメインの訪問者は、これまでどおり画像をダウンロードして表示できます。
技術的には、HTTP referer に自サイトのドメイン名が含まれていない(かつ空でもない)場合、Hotlink Protection はそのリクエストを拒否します。
Hotlink Protection はクローリングには影響しません。ただし、Google 画像検索、Pinterest、Facebook などのサイトでは画像が表示されなくなります。
ダッシュボードで Hotlink Protection を有効にするには、次の手順を行います。
-
Cloudflare ダッシュボードで、セキュリティの Settings ページを開きます。
Settings を開く ↗ -
(任意)Client-side abuse で絞り込みます。
-
Hotlink Protection のトグルを On にします。
API で Hotlink Protection を有効にするには、URI パスの設定名に hotlink_protection を指定し、value パラメーターを "on" にした PATCH リクエストを送ります。
Cloudflare for SaaS を使う SaaS プロバイダーの場合、既定では Hotlink Protection は自ゾーンを referer とするリクエストだけを許可します。顧客(カスタムホスト名)からのリクエストをブロックしないようにするには、Configuration Rules または カスタムルール の利用を検討してください。
外部サイト(Google など)や RSS フィード利用時など、一部の画像へのホットリンクを許可したい場合があります。
Hotlink Protection を選択的に無効にするには、画像フォルダーのパスを対象にした Configuration Rule を作成します。
特定の画像へのホットリンクを許可するには、hotlink-ok という名前のディレクトリに置きます。hotlink-ok ディレクトリはサイト内の任意の場所に置けます。
別サイトが example.com の logo.png を使えるようにするには、logo.png を hotlink-ok という新しいフォルダーに置きます。
ホットリンクの検査対象にならない URL の例は次のとおりです。
http://example.com/hotlink-ok/pic.jpghttp://example.com/images/hotlink-ok/pic.jpghttp://example.com/hotlink-ok/images/pic.jpghttp://example.com/images/main-site/hotlink-ok/pic.jpg