12月
11
自分のサイト内にある、画像の直リンクを許可していると、
他のサイトにリンクを貼られ、余計なトラフィックが増えて、
問題となる場合がある。
今回特に必要でもなかったが、自サイトからのアクセス以外の
画像に対するアクセスを拒否するようにApacheの設定を試みた。
設定する方法は、画像を置いてあるディレクトリ配下に
「.htaccess」ファイルを作成する方法と、
Apacheの設定ファイルである、httpd.confに
直接編集する方法がある。
今回は、Includeさせて、conf.d配下に画像拒否用の
設定ファイルを作成する事にした
<directory [対象のディレクトリ名]>
<filesmatch "\.([Jj][Pp][Gg]|jpeg|[Gg][Ii][Ff]|[Pp][Nn][Gg])$"> #拡張子がjpg、JPG、gif、GIF、png、PNG、jpegのファイルを対象とする
SetEnvIf Referer "^http://metal-blood\.com" ref01 #自分のドメインを指定する。
Order deny,allow
Deny from all
Allow from env=ref01
</filesmatch>
</directory>
<filesmatch "\.([Jj][Pp][Gg]|jpeg|[Gg][Ii][Ff]|[Pp][Nn][Gg])$"> #拡張子がjpg、JPG、gif、GIF、png、PNG、jpegのファイルを対象とする
SetEnvIf Referer "^http://metal-blood\.com" ref01 #自分のドメインを指定する。
Order deny,allow
Deny from all
Allow from env=ref01
</filesmatch>
</directory>
以上で、設定が完了。
.htaccessファイルにて編集する人は、特定のディレクトリ配下に
以下の内容で、.htaccessを作成する。
<filesmatch "\.([Jj][Pp][Gg]|jpeg|[Gg][Ii][Ff]|[Pp][Nn][Gg])$"> #拡張子がjpg、JPG、gif、GIF、png、PNG、jpegのファイルを対象とする
SetEnvIf Referer "^http://metal-blood\.com" ref01 #自分のドメインを指定する。
Order deny,allow
Deny from all
Allow from env=ref01
</filesmatch>
SetEnvIf Referer "^http://metal-blood\.com" ref01 #自分のドメインを指定する。
Order deny,allow
Deny from all
Allow from env=ref01
</filesmatch>
httpd.confを編集した人は、Apacheを再起動して有効化しましょう。
直リンクが拒否されてるかの確認は、ロリポップで使わせてもらいました。
自分のサイトの画像のURLを入力して、
画像が表示されず、「Forbidden」が出ればOK
これで、設定が完了したと思っていた・・・
2~3日後、ふと携帯からうちのブログを見てみると、
画像が拒否されている事が判明













カテゴリ:





