画像の直リンクの禁止

.htaccessを使用した画像の直リンクの禁止についてご紹介します。


画像の直リンクの禁止について

素材サイトを運営しているけれども、画像の直リンクをされたためにサーバーに余計な負荷がかかってしまって自分のホームページの表示が遅くなってしまった。 そんなときは.htaccessで、外部のURLからの直リンクを禁止しましょう。

設置方法

.htaccessファイルを作成します。
適当なファイル名(htaccess.txt)などで、以下の内容のファイルを作成します。
参照元が『お客様のホームページアドレス』から始まる場合のみ許可する
http://の前に『^』を入れ『.』の前に『\』は必ず入力してください。
必ず最後の行の末端に改行を入れてください。
参照元が『特定のアドレス』の場合のみ拒否する
必ず最後の行の末端に改行を入れてください。
複数の参照元のアクセスを拒否する場合は『SetEnvIf Referer "拒否したいアドレス" ref■■』と『deny from env=ref■■』を追加します。■■の部分には同一の半角英数文字を入力してください。
複数の参照元のアクセスを拒否する場合の記述例
必ず最後の行の末端に改行を入れてください。
入力が終わったら保存します。

保存したファイルをFTPでアップロードします。
先ほど作成した『htaccess.txt』を、FTPで直リンクを禁止したい画像専用ディレクトリにアップロードします。アップロード後、ファイル名を『.htaccess』に変更します。

画像専用ディレクトリを作成し、その中に『.htaccess』ファイルをアップロードされることをお勧めします。もし、HTMLファイルと同一階層のディレクトリにアップロードされますと直接URLを入力してアクセスした場合も403エラーページが表示されます。

ファイルのパーミッションは『604』にしてください。

以上で完了です。確認しましょう。
以下のフォームに直リンクの禁止を設定した画像のURLを入力して、確認ボタンを押してください。画像が表示されなければ設定完了です。
きちんと動作していない場合は以下の点を確認してください。
改行は入っていますか?
『.htaccess』のファイルの最後の行の末端に改行は入っていますか?改行が入ってない場合エラーになります。
パーミッションは『604』になっていますか?
『.htaccess』のパーミッションは『604』になっていますか?変更されていない場合正常に動作しないことがあります。
ファイルの記述に誤りはありませんか?
『.htaccess』の記述に間違いがあるとそのディレクトリ以下にアクセスすると必ず『500 Internal Error』が表示されます。この画面が表示されたら『 .htaccess 』ファイルの記述をもう一度確認してください。

参照元(リファラ)情報が遮断されてホームページが表示されない場合の対処方法

Norton Internet SecurityやNorton Personal Firewallなどのセキュリティソフトでは参照元(リファラ)をデフォルトで遮断するため、画像専用ディレクトリに『.htaccess』をアップロードしていない場合、403エラーが表示されアクセスできないことがあります。下記のURLを参照してご確認ください。


マニュアルのトップへ