
プロキシの制限を以下のように記述したのですが、
プロキシを制限する上で加えた方がいい記述や
削除した方がいい環境変数などありますか?
助言いただきたくお願いいたします。
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, 'プロキシ経由の利用は制限しております。');
}
}
No.2ベストアンサー
- 回答日時:
ブラウザ(ヘッダ送信)
↓
Proxy(ヘッダ加工)
↓
Webサーバーへのhttpリクエスト
(Webサーバーがヘッダ情報を環境変数にしてくれる)
という仕組みですから、匿名を目的として設置されたProxyがアクセス元やProxyを使っていることをヘッダ情報として出さない限りは、環境変数としてそれが提供されませんので、
ヘッダ情報を元にした環境変数以外の環境変数を使うしかないです。
そのうち、アクセス制限に有用な情報はREMOTE_HOSTぐらいしかないと思います。
ただそのREMOTE_HOST情報を元にして、匿名Proxy経由を排除したり
海外のIPを丸ごと排除したりということは、可能です。
掲示板ということなら、投稿処理をアカウント制にしてしまうのも方法の一つかと。
それと、キーワードのブラックリストをファイル化しておいて、
合致する文字が投稿文章そのもに現れたら、投稿エラーにするという方法もあるかと思います。
No.1
- 回答日時:
企業内からなどではProxy経由でしか接続できないところがあります。
逆に、Proxy経由であることをヘッダ送信してこない匿名Proxyサーバーもあります。
なので、環境変数を利用するだけでは、前者を排除して、後者は通すことになることも、理解されておいたほうがよいと思います。
匿名ProxyサーバーのIP一覧を入手して、REMOTE_HOSTのIPアドレスで弾いてしまうほうが
より効果的だとは思いますが、その一覧のメンテナンスが大変かもしれません。
(もしかして、匿名ProxyのIPを送信してくれるAPIサービスがあるかもしれませんので、それを利用するとよいとは思いますが)
この回答への補足
ご意見ありがとうございます。
企業などはプロキシを利用しており、
すべてを制限することに不都合があることは承知していたのですが、
多くの方の投稿のホスト情報を見てみると
プロキシサーバーの方がほとんどいそうもなかったため、
今回制限を考えてみた次第です。
匿名プロキシを制限するにはREMOTE_HOSTで制限する以外に
環境変数で制限するということは無理なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Wallpaper Engineでおすすめの...
-
Perlのエラーについてご教授く...
-
bashスクリプト
-
perlで2次元配列をサブルーチ...
-
Strawberry Perl for Windows ...
-
ターミナルで特定の文字と文字...
-
INDIRECT 横に再度抽出したい
-
Perl 数値にスラッシュを入れる...
-
Perlの全角スペース 文字化け?
-
perl の open について教えてく...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
Perlで時間の計算
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数ヘッダ?
-
リストコントロールの列幅を固...
-
VBAでExcelのヘッダーに文字列+...
-
ヘッダのinclude順
-
メールをPDF化する際に、ヘッダ...
-
HTTPリクエストがネットワーク...
-
perlでHTTP Request Headersの...
-
SpreadDesignerの列ヘッダ
-
AccessVBAで「このフィールドに...
-
[C#]ListView一覧表示時の幅設...
-
TCPヘッダのチェックサム算出方法
-
LinuxでRTPヘッダを作りたいの...
-
C# クッキーを使ってウェブブ...
-
ログイン後・・・
-
バイナリファイルのアップロー...
-
IPアドレスの確認方法
-
HTTPヘッダの大きさ
-
PerlでのHTTPヘッダのStatus変更
-
ftpでのネットワークバイトオー...
-
perl5について
おすすめ情報