最終修正日 2007.10.24.
ブラウザはUser-Agent(ユーザーエージェント)という形で名乗っています。
ブラウザの名前で判断する方法をここでは扱います。.htaccessで制御しますので、使えるサーバーが限定されます。これでサイト一括ダウンロードソフトとかロボットとかクローラーとか携帯ブラウザを弾く事ができます。自分のUser-AgentはCyberSyndromeのENV
Checkerで確認できます。このUser-Agentも任意でブラウザが名乗るものですから偽装は可能です。なおUser-AgentにはMacintosh等のOSの情報が送られていることが多いので、MacとWinの振り分けも可能です。
User-Agentについて詳しくは→ ユーザーエージェント - Wikipedia
インターネットエクスプローラーとかサファリとかネットスケープとかのメジャーブラウザ?だけを通したい場合はこう書いて下さい。
SetEnvIf User-Agent
"Mozilla" Angel Order Deny,Allow Deny from all Allow from env=Angel |
上記の命令の意訳です。
環境変数設定。お名前がもじらであることを仮に「エンジェル」ということにします。 選ばれた人だけを入れる方式でいきます。 とりあえず、みんな入らないで下さい。 でも「エンジェル」な人だけは入っていいよ。 |
Mozillaはネットスケープやインターネットエクスプローラーのユーザーエージェントに含まれる文字列です。
受け入れたいブラウザが複数ある場合は、こう書きます。赤文字部分を書き替えて下さい。
SetEnvIf User-Agent
"ブラウザA" Lilith SetEnvIf User-Agent "ブラウザB" Lilith Order Deny,Allow Deny from all Allow from env=Lilith |
この設定で弾いた人間を別ページに飛ばす場合は、こう書きます。
SetEnvIf User-Agent
"Mozilla" Lilith Order Deny,Allow Deny from all Allow from env=Lilith ErrorDocument 403 /~aaa/b/403.html |
受け入れたいブラウザが複数あり、別ページに飛ばす場合は、こう書きます。
SetEnvIf User-Agent
"ブラウザA" Lilith SetEnvIf User-Agent "ブラウザB" Lilith Order Deny,Allow Deny from all Allow from env=Lilith ErrorDocument 403 /~aaa/b/403.html |
詳しくはアクセス制限された相手を特定のファイルに跳ばすを参考にして下さい。
サイトダウンロードソフトや携帯ブラウザだけを弾くとかですね。この場合は、userAgent(ユーザーエージェント一覧)やUserAgentのデータベースを作りましょう。も参考になります。荒らし対策やロボット対策として、特定の相手を弾きたい場合は、アクセス解析等をして、相手のユーザーエージェント名を特定して下さい。
弾きたいブラウザが単数の場合は、こう書きます。赤文字部分を書き替えて下さい。
SetEnvIf User-Agent
"Mozilla" Lilith Order Allow,Deny Allow from all Deny from env=Lilith |
弾きたいユーザーエージェントが複数ある場合は、こう書きます。
SetEnvIf User-Agent
"Mozilla" Lilith SetEnvIf User-Agent "Ninja" Lilith Order Allow,Deny Allow from all Deny from env=Lilith |
サンプル
インターネットエクスプローラーだけを弾く
この設定で弾いた人間を別ページに飛ばす場合は、こう書きます。
SetEnvIf User-Agent
"Mozilla" Lilith Order Allow,Deny Allow from all Deny from env=Lilith ErrorDocument 403 /~akikan/kaigai/403.html |
弾きたいユーザーエージェントが複数あり、弾いた人間を別ページに飛ばす場合は、こう書きます。
SetEnvIf User-Agent
"Mozilla" Lilith SetEnvIf User-Agent "Ninja" Lilith Order Allow,Deny Allow from all Deny from env=Lilith ErrorDocument 403 /~akikan/kaigai/403.html |
サンプル
MozillaとNinjaを弾く
なお、「ネスケ4.7はスタイルシートへの対応が中途半端だから振り分けたい」というような場合は.htaceessではなくスタイルシートを読み込ませない方法をお奨めします。スタイルシート例文辞典にも、様々なスタイルシートの振り分け方が記述されています。
逆に、自分のサイトが自分が普段使っていないブラウザでどう見えるか知りたいという方は、Test your web design in different browsers - Browsershots(使い方)等をお使い下さい。
< prev | back | next > |