お問い合わせはコチラから

特定の名称規則のファイルだけ直リンク禁止にする

サイト運営

サーバーに画像を置いた場合、外部サイトに画像を直リンクされて埋め込まれてしまうことがあります。

大してPVの無いサイトであれば影響もないのですが、PVが大きいサイトの場合は被害が大きくなります。

かといってすべての画像を直リンク禁止にすると、OGP画像などで使う時に読み込めなくなってしまいまい不便です。

そこで特定の名称規則に合致するファイルだけ直リンクを禁止できないか?と思って調べたら出来たのでまとめておきます。

特定の名称規則のファイルだけ直リンク禁止にする

特定のリファラからのリクエストに対して、指定された画像ファイル(xyz_ で始まるもの)のアクセスを制御するものです。リファラが hoge-hoge.com または example.com である場合にのみ、xyz_ で始まる画像ファイルへのアクセスを許可し、それ以外のリファラからのアクセスは拒否します。

SetEnvIf Referer "^https?://hoge-hoge\.com|example\.com" my_site

<Files ~ "^xyz_.*\.(jpg|jpeg|png|gif|webp)$">
    Order Allow,Deny
    Allow from env=my_site
    Deny from all
</Files>

1. SetEnvIf ディレクティブ

apacheSetEnvIf Referer "^https?://hoge-hoge\.com|example\.com" my_site
  • SetEnvIf: 環境変数を条件付きで設定するための指令です。
  • Referer: リクエストのリファラヘッダーをチェックします。このヘッダーは、どのページからリクエストが発生したかを示します。
  • "^https?://hoge-hoge\.com|example\.com":
    • ^https?://: リファラが http:// または https:// で始まることを示します。? は直前の s が0回または1回出現することを意味します。
    • hoge-hoge\.com|example\.com: リファラが hoge-hoge.com または example.com であることを示します。| は「または」を意味します。
    • my_site: この条件が満たされる場合に設定される環境変数です。

2. <Files> ディレクティブ

apache<Files ~ "^xyz_.*\.(jpg|jpeg|png|gif|webp)$">
    Order Allow,Deny
    Allow from env=my_site
    Deny from all
</Files>
  • <Files>: 指定したファイルに対するアクセス制御を行うための指令です。
  • ~ "^xyz_.*\.(jpg|jpeg|png|gif|webp)$":
    • ^xyz_: ファイル名が xyz_ で始まることを示します。
    • .*xyz_ の後に任意の文字が続くことを許可します。
    • \.(jpg|jpeg|png|gif|webp)$: 拡張子が .jpg.jpeg.png.gif, または .webp であることを示します。$ は文字列の終わりを示します。

3. アクセス制御の順序

apacheOrder Allow,Deny
Allow from env=my_site
Deny from all
  • Order Allow,Deny: アクセス制御の順序を指定します。この設定では、まず Allow の条件が評価され、その後 Deny の条件が評価されます。
  • Allow from env=my_sitemy_site 環境変数が設定されている場合、そのファイルへのアクセスを許可します。
  • Deny from all: 上記の条件が満たされない場合、すべてのアクセスを拒否します。

.htaccessはどこに置くべきか?

どこでも大丈夫ですが、wp-content/uploadsに置くのがいいと思います。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました