重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

プロキシの制限を以下のように記述したのですが、
プロキシを制限する上で加えた方がいい記述や
削除した方がいい環境変数などありますか?
助言いただきたくお願いいたします。

if($ENV{'HTTP_VIA'}||$ENV{'HTTP_FORWARDED'}||$ENV{'HTTP_PROXY_CONNECTION'}||$ENV{'HTTP_CACHE_INFO'}||$ENV{'HTTP_XROXY_CONNECTION'}||$ENV{'HTTP_XONNECTION'}||$ENV{'HTTP_X_FORWARDED_FOR'}){
unless ($ENV{'REMOTE_HOST'} =~ /docomo/){#ドコモの携帯は除外する
push(@error, 'プロキシ経由の利用は制限しております。');
}
}

A 回答 (2件)

ブラウザ(ヘッダ送信)



Proxy(ヘッダ加工)

Webサーバーへのhttpリクエスト
(Webサーバーがヘッダ情報を環境変数にしてくれる)

という仕組みですから、匿名を目的として設置されたProxyがアクセス元やProxyを使っていることをヘッダ情報として出さない限りは、環境変数としてそれが提供されませんので、
ヘッダ情報を元にした環境変数以外の環境変数を使うしかないです。
そのうち、アクセス制限に有用な情報はREMOTE_HOSTぐらいしかないと思います。

ただそのREMOTE_HOST情報を元にして、匿名Proxy経由を排除したり
海外のIPを丸ごと排除したりということは、可能です。

掲示板ということなら、投稿処理をアカウント制にしてしまうのも方法の一つかと。
それと、キーワードのブラックリストをファイル化しておいて、
合致する文字が投稿文章そのもに現れたら、投稿エラーにするという方法もあるかと思います。
    • good
    • 0

企業内からなどではProxy経由でしか接続できないところがあります。


逆に、Proxy経由であることをヘッダ送信してこない匿名Proxyサーバーもあります。

なので、環境変数を利用するだけでは、前者を排除して、後者は通すことになることも、理解されておいたほうがよいと思います。

匿名ProxyサーバーのIP一覧を入手して、REMOTE_HOSTのIPアドレスで弾いてしまうほうが
より効果的だとは思いますが、その一覧のメンテナンスが大変かもしれません。
(もしかして、匿名ProxyのIPを送信してくれるAPIサービスがあるかもしれませんので、それを利用するとよいとは思いますが)

この回答への補足

ご意見ありがとうございます。
企業などはプロキシを利用しており、
すべてを制限することに不都合があることは承知していたのですが、
多くの方の投稿のホスト情報を見てみると
プロキシサーバーの方がほとんどいそうもなかったため、
今回制限を考えてみた次第です。
匿名プロキシを制限するにはREMOTE_HOSTで制限する以外に
環境変数で制限するということは無理なのでしょうか?

補足日時:2008/08/25 10:26
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!