ファイルの直リンクを禁止!.htaccessを使ってアクセス制御する方法

インフォコネクトWebの豆知識

こんにちは、クリエイターのSHOJIです。
他サイトの画像やPDFファイル等に直接アクセスして、無断で別サイトに表示させる直リンクは、とても迷惑で悪質な行為のため、必要に応じて防止策を講じなければなりません。

アクセス解析を確認していると、想定外のファイルに直リンクされていることがあり、意図しないファイルへ直リンクされてしまうと、知らない間にサーバーへ負担がかかってしまっている可能性もあります。

そこで今回は、簡単に出来る「.htaccess」を使用したファイルへの直リンク禁止の方法についてご紹介したいと思います。
 

参照元が自身のサイトでのみアクセスを許可

自身のサイト以外ではファイルへの直リンクを禁止して表示させない方法です。

①.htaccessファイルの作成
SetEnvIf Referer "^https://sample\.jp" ref_ok
Order Deny,Allow
Deny from all
Allow from env=ref_ok

※一行目のURL部分を「自身のサイトURL」に変更してください。
※「https://」の前に「^」を、「.」の前に「\(バックスラッシュ)」を必ず入力します。
※必ず最後の行の末端に改行を入れてください。

②.htaccessファイルのアップロード

作成した.htaccessファイルを、直リンクを禁止したいファイルのあるディレクトリにアップロードします。 この.htaccessがあるディレクトリ内は、すべてのファイルが直リンク禁止の対象となるので注意が必要です。

③動作確認

ブラウザのゲストモードなどを使って実際の動作確認を行ってください。 自身のサイト内では表示され、ゲストモードでの直接アクセスにて表示されなければOKです。

④注意点

※この.htaccessがあるディレクトリ内は、すべてのファイルが直リンク禁止の対象となる。
※この.htaccessがあるディレクトリ内は、Googleなどのクローラーもアクセスできなくなる。
※この.htaccessがあるディレクトリ内の画像は、SNSでシェアされた場合に表示されなくなる。
 

参照元が特定のアドレスの場合のみアクセスを拒否

①.htaccessファイルの作成
SetEnvIf Referer "^https://www\.hogehoge\.jp" ref_ng
Order Allow,Deny
Allow from all
Deny from env=ref_ng

※一行目のURL部分を「拒否したいURL」に変更してください。
※「https://」の前に「^」を、「.」の前に「\(バックスラッシュ)」を必ず入力します。
※必ず最後の行の末端に改行を入れてください。

②.htaccessファイルのアップロード

作成した.htaccessファイルを、直リンクを禁止したいファイルのあるディレクトリにアップロードします。 この.htaccessがあるディレクトリ内は、すべてのファイルが直リンク禁止の対象となるので注意が必要です。
 

複数の参照元のアクセスを拒否

①.htaccessファイルの作成
SetEnvIf Referer "^https://www\.hogehoge\.jp" ref_ng
SetEnvIf Referer "^https://www\.fugafuga\.com" ref_ng
Order Allow,Deny
Allow from all
Deny from env=ref_ng

※URL部分を「拒否したいURL」に変更してください。
※「https://」の前に「^」を、「.」の前に「\(バックスラッシュ)」を必ず入力します。
※必ず最後の行の末端に改行を入れてください。

②.htaccessファイルのアップロード

作成した.htaccessファイルを、直リンクを禁止したいファイルのあるディレクトリにアップロードします。 この.htaccessがあるディレクトリ内は、すべてのファイルが直リンク禁止の対象となるので注意が必要です。
 

まとめ

今回は、.htaccessを使用してファイルへの直リンクを禁止させる方法についてご紹介しましたが、いかがだったでしょうか?

直リンクを禁止させることは簡単なのですが、すべてを禁止してしまうと、クローラーやSNSへのシェア画像などの本来必要であるアクセスまで拒否してしまうため設定には十分注意が必要です。

ですが、この方法を知っているだけで、ファイルの取扱いに関するクライアント様からのご要望に応えることができる場合がありますので、知っている価値は十分にありますよ!

Webの豆知識」の関連記事

インフォコネクトに
相談してみませんか?

経営コンサルティングやITサービス活用支援、ホームページ制作などに関するご依頼や、ご質問・ご相談など、なんでもお気軽にお問い合わせください。