.htaccessでお手軽キャリア制限

デザイナーさんが、面白いことをはじめた。
自分が仕事以外で作成した作品(携帯待ち受けFlashや、サイトデザイン)を、社内向けポートフォリオとして公開した。


社内のアイデア共有掲示板の彼の発言

僕が作ったコンテンツを公開するサイトを作成しました。


最近、空き時間にフラッシュを勉強し始めました。
ですのでその「アウトプットの場」になればいいな!と思っています。
いわゆる社内ポートフォリオサイトです。


○○さんに集中しているフラッシュ案件を、是非僕にも回ってくるように!!


皆さん、よろしくお願いします。

※○○さんってのは、うちのちょーFLASHerくん。
※本人に確認とって転載させてもらった。


こういうのは、どんどんしていって欲しい。


携帯用サイトだが、サイト自体はPCで見ることができる。でも、Flashは携帯で見て欲しいので、PCからの制限を付けたいということで、質問を受けた。
業務案件ならば、IP制限で。ということになるが、今回は、社内向けなのでそこまで厳密である必要はないので、以下のように.htaccessでお手軽制限にしてみた。


制限したいディレクトリに以下のような.htaccessを作成する。

SetEnvIf User-Agent "^DoCoMo" MOBILE
SetEnvIf User-Agent "^KDDI" MOBILE
SetEnvIf User-Agent "^UP.Browser" MOBILE
SetEnvIf User-Agent "^J-PHONE" MOBILE
SetEnvIf User-Agent "^Vodafone" MOBILE
SetEnvIf User-Agent "^MOT-" MOBILE
SetEnvIf User-Agent "^SoftBank" MOBILE

order deny,allow
deny from all
allow from env=MOBILE

ErrorDocument 403 /denied.html

SetEnvIfでUserAgentの確認をし、allow fromで特定のUserAgentだけ許可することにした。


特定ディレクトリ以下ではなくて、サイト全体をこれでブロックしたい場合や、denied.htmlと同階層の場合には、denied.htmlも制限に引っかかってしまうので、追加で以下のような宣言も必要になる。

<Files "denied.html">
    allow from all
</Files>


ブラウザでUserAgentを偽装すれば見れてしまうが、とりあえずやだよって主張する程度ならばこれで十分だと思います。