言語設定によるアクセス制限

最終修正日 2007.11.9.  

言語設定によるアクセス制限について

ブラウザには、「日本語」や「英語」などの使用言語を設定する箇所があります。「設定」あるいは「初期設定」の中の「言語」のところをみてみてください。

言語設定によるアクセス制限は「どの言語を設定しているか」で相手を判断して、拒否する方法です。
ブラウザの設定をいじるだけで簡単にアクセス可能になるのが難点ですが、相手に言語設定で弾いていると気付かれなければ、簡単にふるいわけができます。また、相手の使用するブラウザによっては、問答無用で弾かれる可能性があります。
これは前章で紹介した.htaccessの使えるサーバーで可能な方法です。Apacheのマニュアルによりますと、この動作のためのモジュールのうちmod_negotiation は、Apacheの1.3以上ならデフォルトで入っているようです。mod_setenvifの方は.htaccess ファイルでの使用は 1.3.13 以降でのみサポートされています。
 

特定の言語を受け入れ設定しているブラウザ以外を弾く

例えば日本語使用者だけをアクセス可能にするとかですね。

日本語を受け入れる設定の人以外を弾くための.htaccessです。赤文字部分を書き替えて下さい。

SetEnvIf Accept-Language ja Lilith
Order Deny,Allow
Deny from all
Allow from env=Lilith

 サンプル
 日本語使用者用のページ jaのみの初期設定でどうぞ。
 
フランス語使用者用のページ frを追加しないとみられません。

受け入れたい言語が複数ある場合は、こう書きます。

SetEnvIf Accept-Language ja Lilith
SetEnvIf Accept-Language
fr Lilith
Order Deny,Allow
Deny from all
Allow from env=Lilith

この設定で弾いた人間を別ページに飛ばす場合は、こう書きます。

SetEnvIf Accept-Language ja Lilith
Order Deny,Allow
Deny from all
Allow from env=Lilith
ErrorDocument 403
/~aaa/b/403.html

受け入れたい言語が複数あり、弾いた人間を別ページに飛ばす場合は、こう書きます。

SetEnvIf Accept-Language ja Lilith
SetEnvIf Accept-Language
fr Lilith
Order Deny,Allow
Deny from all
Allow from env=Lilith
ErrorDocument 403
/~aaa/b/403.html

 詳しくは別ページのアクセス制限された相手を特定のファイルに跳ばすを参考にして下さい。

特定の言語を受け入れ設定しているブラウザだけを弾く

例えばイタリア語使用者だけを弾くとかですね。

SetEnvIf Accept-Language it Lilith
Order Allow,Deny
Allow from all
Deny from env=Lilith

弾きたい言語が複数ある場合は、こう書きます。

SetEnvIf Accept-Language it Lilith
SetEnvIf Accept-Language
fr Lilith
Order Allow,Deny
Allow from all
Deny from env=Lilith

この設定で弾いた人間を別ページに飛ばす場合は、こう書きます。

SetEnvIf Accept-Language it Lilith
Order Allow,Deny
Allow from all
Deny from env=Lilith
ErrorDocument 403
/~akikan/kaigai/it.html

 サンプル(上記の設定になっています)
 
イタリア語使用者立ち入り禁止のページ まずは初期設定でどうぞ。

 

弾きたい言語が複数あり、弾いた人間を別ページに飛ばす場合は、こう書きます。

SetEnvIf Accept-Language it Lilith
SetEnvIf Accept-Language
fr Lilith
Order Allow,Deny
Allow from all
Deny from env=Lilith
ErrorDocument 403
/~akikan/kaigai/it.html

自分で設置して上手くいかなかった場合、改行コードや転送ソフトのモードを変えてみて下さい。あるいはサーバの管理者にお問い合わせ下さい。


  
< prev back next >