CGI-BBS > 基本認証 > 仕組み > 特定ブラウザのアクセス制限


カレッヂ
カレッヂ


質問者 UntiCorect  投稿日 2/28(木) 18:51:46
ある特定ブラウザによるアクセスを制限したいのですが、
そのような方法はあるのでしょうか?

アクセスログではブラウザ名がわかりますので、
その中の特定のブラウザでのアクセスを制限できればと、思っています。

よろしくお願いします。
回答者 今夜がやすだ  [削除]  投稿日 3/2(土) 01:27:58
ブラウザ情報の環境変数というと$ENV{HTTP_USER_AGENT}ですね。
これを使うことになります。
Perlについて、少々知識があれば、レスキューさんのアクセス制御などを参考に書けるかと思います。
でわでわ。
質問者 UntiCorect  [削除]  投稿日 3/2(土) 09:11:44
回答ありがとうございます。

>ブラウザ情報の環境変数というと$ENV{HTTP_USER_AGENT}ですね。

やっぱりこれですか...

> Perlについて、少々知識があれば、

その知識がまるで無くて、困っています。
ということは、PERL の制作者にしてみれば、簡単すぎる内容なのかもしれませんね。
だから、どこにも、この手の CGI がないのかもしれませんね。

どなたか、基本部分だけでも作っていただけると、助かるのですが。
回答者 今夜がやすだ  [削除]  投稿日 3/3(日) 01:03:52
だいたい下のようなことをします。



#Windowsを拒否したいとします。
my $ref_browser = 'Windows';

my $ref = $ENV{HTTP_USER_AGENT};

#正規表現でHTTP_USER_AGENTのなかに拒否したいブラウザ情報があれば、エラー処理
if (!($ref =~ /$ref_browser/i)) { &error; }

#エラーに引っかからない場合の処理をここから書く。

#関数定義
sub error {
        print <<EOF;
Content-type: text/html

<HTML><HEAD><TITLE>Error</TITLE></HEAD>
<BODY><H1>Error</H1>
$ref_browserの要求には応えられません。
</BODY></HTML>
EOF
        exit;
}
質問者 poiuy  [削除]  投稿日 3/3(日) 07:55:59
今夜がやすだ さん、わざわざすいません。
Perl のサンプルを作っていただき、非常に感謝しています。

これを元に Perl にチャレンジしてみます。
でも、道は遠そうです。

繰り返しになりますが、ほんとうにありがとうございました。

返信(回答)する


Web裏技