- ベストアンサー
プロキシサーバ経由を拒否したい
現在、CGI可のHPスペースを利用しています。 プロキシサーバ経由の人すべてのアクセスを制限する方法はありますか? (プロキシサーバ経由の人はこのHPをご覧になれません、のようなメッセージをだしたいと思います。) 荒らし対策でアクセス解析をしているのですが、IPが不明の人がおります。 (.htaccessで固有のIPは拒否しているので、同時に設定できるならいいんですができないですよね?) CGIの書き方、設定の仕方など詳しく載ってるHPがありましたら教えていただけないでしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2 にうちで実際に使ってるものをのせておきました。 その他、ポート80/8080/3128 等に実際にサーバーからアクセスしてみて、応答があったら拒否する方法もあります。 また、CGIプロクシ対策で、$ENV{HTTP_HOST}と JavaScriptで取得したホスト名が一致していなければプロクシと判断する方法があります。
その他の回答 (2)
- 春原 なの(@ymda)
- ベストアンサー率37% (668/1777)
sub proxycheck{ $proxy=0; $proxy=1 if($ENV{'HTTP_CLIENT_IP'}); $proxy=1 if($ENV{'HTTP_FORWARDED'}); $proxy=1 if($ENV{'HTTP_MAX_FORWARDS'}); $proxy=1 if($ENV{'HTTP_SP_HOST'}); $proxy=1 if($ENV{'HTTP_VIA'}); $proxy=1 if($ENV{'HTTP_X_FORWARDED_FOR'}); $proxy=1 if($ENV{'HTTP_X_LOCKING'}); $proxy=1 if($ENV{'HTTP_XONNECTION'}); $proxy=1 if($ENV{'HTTP_XROXY_CONNECTION'}); $proxy=1 if($ENV{'REMOTE_HOST'}=~/(www|mail|ns|proxy)/); return $proxy; }
- estea
- ベストアンサー率44% (39/87)
IP不明って? 不明なら、CGIでアクセス拒否すればいいんじゃない? プロキシを正確に全てはじくのは無理だと思うし、使用しないとならないユーザもいるはずだから(学校とか)。 perl のならいくつかあるみたい。
補足
ありがとうございます。 アクセス解析をしていて、IPがとれない(判別不明と表示される)ものがあったので、 プロキシを使ってるのかと勘違いしていました。 その場合はプロキシのIPがとれるはずですね(汗 ということは、不明と出るのは、何らかの方法を使って 意図的にIPを隠しているということでしょうか。 不明を排除するには、NULLをはじくようにすればいいんでしょうか。