その他
    ホーム 技術発信 DoRuby リファラでアクセス制限をしてみた。(apache)

    リファラでアクセス制限をしてみた。(apache)

    この記事はアピリッツの技術ブログ「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>

    これでちゃんと表示するようになりました。

    色々設定してみたんですが

    自分がやったときネット調べながらやっても

    なぜか上手くいかなかくて

    今回ロケーションで設定したのですが

    もっといい方法はあるかもしれませんね。

    あったら教えてください。

    ではでは

    また。