さらに話が飛んでしまうが、
いろいろ受託やオリジナルコンテンツを作成する上で、他人にそれをウェブで見せたい機会が多い。
誰でも自由にみられると困る部分もあれば、逆にあんまり手間をかけずにちょこっと見せたい部分もあり、そんなときには.htaccessは便利だし、頻繁に使われる方法だと思う。
で、ベーシック認証をかけるとか、携帯のみからアクセスさせるといった個別の方法は、調べるとすぐわかるのだが、
PCからはベーシック認証を通過した場合のみ閲覧させ
携帯からはベーシック認証を要求しない
というウェブサイトをつくりたいと思ってやってみたものの、ちょっと時間かかったのでメモがてらのエントリ。
ちなみに、携帯からのみといってもユーザーエージェントだけのチェックなのでかなり適当です。
本来はIPアドレスでの制限もかける。でないとUser Agent Switcherなんかを使えば見れてしまう。
加えてこのエントリの技術的な信頼度はかなり低いものと考えてください。とりあえず動いたという程度のものです。
まず.htaccessの中身はこんな風
Deny from all
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
SetEnvIf User-Agent "DoCoMo" allow_ua
SetEnvIf User-Agent "SoftBank" allow_ua
SetEnvIf User-Agent "Vodafone" allow_ua
SetEnvIf User-Agent "KDDI" allow_ua
Order Deny,Allow
Deny from all
Allow from env=allow_ua
Require valid-user
Satisfy Any
httpd.confにはこんな指定が必要
AllowOverride AuthConfig Limit FileInfo
ユーザー名とパスワードの生成はこんな風にして行う
htpasswd -c /etc/httpd/conf/.htpasswd guest
コメント