2009-06-16 5 views
3

私は自分のサイトにログインしている人がプロキシの背後にいるかどうかを検出する方法を見つけようとしています。私は埋め込み可能なオブジェクト(フラッシュとJava)を通して人の実際のIPアドレスを検出できることを読んだ。しかし、私は実際にこれのための例やソースを見つけることができませんでした。ユーザーがプロキシの背後にいるかどうかを検出する

私はPHPを使用しており、$_SERVER['HTTP_X_FORWARDED_FOR'], $_SERVER['HTTP_CLIENT_IP']などがほとんどのプロキシを検出しますが、これまではTORでテストできなかったことを読んだことがあります。匿名プロキシはまだHTTP_X_FORWARDEDと表示されています。可能であれば、私はjavaサーブレットでそれをやってみてください。誰も私を正しい方向に向けることができますか(例では?)ha.ckers.orgでいくつかのコードを見ましたが、サーバー側ではなくクライアント側にしか見えませんでした。

+0

私は質問することができます:なぜプロキシユーザーを検出したいですか?接続の使用方法(ネットワークフットプリント、可能であれば)にいくつかの相違点がありますが、実際には関係ありません。 – benc

答えて

5

TORはX_FORWARDED_FORなどのサーバーヘッダーを提供しません。したがって、すべての既知の出口ノードのリストを使用することをお勧めします。リストはhttps://torstat.xenobite.eu/にあります。

他のプロキシの場合、サーバーヘッダーを見ることができます。関心の可能性のあるサーバーのヘッダーが含まれます:

HTTP_VIA 
HTTP_X_FORWARDED_FOR 
HTTP_FORWARDED_FOR 
HTTP_X_FORWARDED 
HTTP_FORWARDED 
HTTP_CLIENT_IP 
HTTP_FORWARDED_FOR_IP 
VIA 
X_FORWARDED_FOR 
FORWARDED_FOR 
X_FORWARDED FORWARDED 
CLIENT_IP 
FORWARDED_FOR_IP 
HTTP_PROXY_CONNECTION 

はPHPで、あなたは$_SERVER[] superglobalでこれらのフィールドの値を取得することができます。

+0

ああ、大丈夫です。そのリストと他の情報をありがとう。 – ravun

1

オプションの場合は、httpsを試すことができます。ユーザーIPはあなたに見えるはずです。しかし、SSLプロキシの背後にあるオフィスユーザーについてはわかりません。

1

JavaアプレットまたはFlashのいずれも、クライアントIPをリークさせません。私は古いバージョンのFlashにはセキュリティ上の欠陥があったことを知っています。おそらくそれは今までにパッチされています。

私はTORを一度も使用したことはありませんが、私が読んだところではVPNの一種として実装されているようで、ブラウザはそれを全く認識しません。

ユーザーがプロキシの背後にいるかどうかを知る必要があるのはなぜですか?

+0

ああ、Flashに関する問題が、Flash 9.0の後に変更されたことに気がつきました。私はスパマーを禁止するときにプロキシを使って新しいアカウントを作成することはできません。私はそれが愚かな証拠ではないことを知っていますが、もう少し難しくしたいと思います。 – ravun

2

次のヘッダーフィールドを探して、プロキシにする必要があります。

VIA 
FORWARDED 
USERAGENT_VIA 
X_FORWARDED_FOR 
PROXY_CONNECTION 
XPROXY_CONNECTION 
HTTP_PC_REMOTE_ADDR 
HTTP_CLIENT_IP 

TORをブロックするのは、iptablesを使用してTOR出口ノードをブロックすることです。

本当にあなたが本当のクライアントIPを送り返すあなたのページにいくつかのフラッシュやjavaを埋め込むような「半悪意のある」ものを試すことができるかどうか本当に分かったら、しかし、それは限られた範囲しか持たないので、あなたがローカルIPを手に入れるかもしれない。 LANには192.168.1.xのようなものがあります

+0

私はこれらのヘッダーについて聞いたことがありますが、PHPの$ _SERVERスーパーグローバルからそれらにアクセスしようとすると、役に立たないようです。私はまだ$ _SERVERのスーパーグローバルでこれらのインデックスを見たことがありますが、私はTORだけを使っていますので多分違います。私が知る限り、TORは匿名プロキシであり、X_FORWARDED_FORにフラグを立てる必要がありますが、テストで何も表示されませんでした。 – ravun

+1

すごいよ。 HTTP_ prependedで複製された私のヘッダーで正確に同じ答えは、鉱山が承認されたことを受け取りますか? – jitter

関連する問題