この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
こんにちはカツオです。
入社してもう2ヶ月経とうとしています。
早い。
毎日怒られてます。
今日は
rubyとはちょっと違うのですが
本日はリファラーによるアクセス制限について紹介します。
仮にbookmarks.hahaha.co.jpというサイトを
リファラを使って制御したいと思います。
まず設定を書くhttp.confファイルを探します。
/usr/local/apache2/conf/httpd.conf
とかにあることが多いんじゃないでしょうか
そのファイルを開くと
VirtualHostとか色々設定してあるところのなかに
<Location />
SetEnvIf Referer "^http://bookmarks.hahaha.co.jp" check
Order allow,deny
Allow from all
Deny from env=check
</Location>
と書き足してください。
これによってサイトの全ページにおいて
bookmarks.hahaha.co.jpからのアクセスを禁止しています。
赤字を自分が制御したいサイトのURLを書いてください。
自分はこれでアクセスは制御できるかなーと思ったら
なんでかわからないけど
普通にアクセスしたときにスタイルシート等が適応されなくて、
レイアウトが崩れてしまいました。
仕方がないので、
パブリックに対してアクセスする権利を与えました。
これがなくて僕の環境では画像とCSSが表示されなかったです。
↓
<Directory /home/testtest/public>
Order allow,deny
Allow from all
Options None
AllowOverride None
</Directory>
これでちゃんと表示するようになりました。
色々設定してみたんですが
自分がやったときネット調べながらやっても
なぜか上手くいかなかくて
今回ロケーションで設定したのですが
もっといい方法はあるかもしれませんね。
あったら教えてください。
ではでは
また。