2009-08-21 40 views
1

私は、クライアントのIPアドレスがプロキシサーバーの背後にあるものを隠そうとする可能性が高いアプリケーションを開発しています。クライアントのIPアドレスを取得する方法

実際のクライアントIPアドレスがプロキシの背後にあるものを得る統一された方法はありますか? Ruby docsを見ると、それが明示的に

request.remote_ip 

request.remote_addr 

は、両方のプロキシアドレスではなく実際のクライアントIPを返しますし、私が「含まれていてもよい」の記述によってスローだと述べています残りのHTTPヘッダー。

答えて

2

プロキシがX-Forwarded-Forをサポートしているかどうかによって異なります。私はremote_ipがあなたが探しているものではないことを確かめるためにいくつかのテストを実行したいと思っています - コードを見て、それはHTTP_X_FORWARDED_FORヘッダーを読もうとします。

+0

remote_ipが「最も遠い」HTTP_X_FORWARDED_FORをチェックしている場合、自分自身を並べ替えることを心配する必要はありません。ありがとう。 –

1

プロキシの背後にあるマシンから入力しています。私は「隠れている」わけではなく、私の組織(そしてサーバを持つのに十分な大きさの他の大部分)がどのように機能しているかです。私は固定IPアドレスを持っていません。動的に割り当てられます。だから私は "現在の" IPアドレスが分かっているのを知ることができません。ヘック、私は明日別の代理店を介して接続されているかもしれません(私は大きな組織のために働く)!

家庭には、複数のマシンがルータ経由で接続されています。繰り返しますが、私は固定IPアドレスを持っていません。私のISPによって動的に割り当てられます。それは大規模なISPなので、おそらくアップストリームのどこかにプロキシサーバーがあります。

私はあなたが望むものは技術的に可能ではないと思います。どのようなアプリケーションを使用すれば、「クライアントのIPアドレスが何であるかを隠すことになるでしょうか?どのような問題を解決しようとしていますか?

+0

私はオンラインの投票アプリケーションを作成しています。最悪のシナリオでは、投票スタッフィングを防ぐための妥当な措置を講じる必要があります - チェックアウトhttp://musicmachinery.com/2009/04/15/inside-the-precision-hack/ あなたがリストした例(コーポレートNATまたはローカルNAT)は、私の見解からは正しいが管理しやすいので、おそらく私の元の質問に「匿名プロキシ」を指定しているはずです。 –

+0

ここ数年後、IPが時々変化しても、高度な地理情報には役立ちます。私のISPはおそらく私に時々異なるIPを与えるでしょうが、彼らはすべて同じように見えるでしょう。例えば、私がアメリカのどこかにいることは明らかです。それは、多くのアプリケーションに十分適しています。 – juanpaco

関連する問題