2009-08-21 4 views
1

Ich entwickle eine Anwendung, wo es wahrscheinlich scheint, dass Leute versuchen werden, zu verbergen, was ihre Client-IP-Adresse hinter einem Proxy-Server ist.Methode zum Abrufen der Client-IP-Adresse

Gibt es einen einheitlichen Weg, um die tatsächliche Client-IP-Adresse hinter dem Proxy zu bekommen? Mit Blick auf die Ruby docs, heißt es ausdrücklich, dass

request.remote_ip 

und

request.remote_addr 

sowohl die Proxy-Adresse zurückkehren würde und nicht die tatsächliche Client-IP und ich bin durch die Beschreibungen in der „kann enthalten“ geworfen Rest der HTTP-Header.

Antwort

2

Es hängt davon ab, ob der Proxy X-Forwarded-For unterstützt. Ich würde einige Tests ausführen, um sicher zu sein, dass remote_ip nicht das ist, was Sie suchen - basierend auf einem kurzen Blick auf den Code versucht es, den HTTP_X_FORWARDED_FOR Header zu lesen.

+0

Wenn remote_ip den "weitesten" HTTP_X_FORWARDED_FOR prüft, muss ich mir keine Sorgen machen, dass ich das selbst herausfinden möchte. Vielen Dank. –

1

Ich tippe dies von einer Maschine, die hinter einem Proxy ist. Ich verstecke mich nicht, so funktioniert meine Organisation (und die meisten anderen, die groß genug sind, um einen Server zu haben). Ich habe keine feste IP-Adresse: Sie wird dynamisch zugewiesen. Ich kann also nicht sehen, wie es mir helfen wird, meine "aktuelle" IP-Adresse zu kennen, da es morgen anders sein wird. Vielleicht bin ich morgen über einen anderen Proxy verbunden (ich arbeite für eine große Organisation)!

Zuhause habe ich mehrere Maschinen über einen Router verbunden. Auch hier habe ich keine feste IP-Adresse: sie wird dynamisch von meinem ISP zugewiesen. Es ist ein großer ISP, also gibt es wahrscheinlich einen Proxy-Server irgendwo stromaufwärts.

Also ich denke, was Sie wollen, ist technisch nicht möglich. Welche Art von Anwendung würde es "wahrscheinlich machen, dass Leute versuchen werden, die IP-Adresse ihres Clients zu verbergen"? Welches Problem versuchen Sie zu lösen?

+0

Ich erstelle eine Online-Abstimmungsanwendung und möchte angemessene Maßnahmen ergreifen, um zu verhindern, dass die Abstimmung stopft - checkout http://musicmachinery.com/2009/04/15/inside-the-precision-hack/ für ein Worst-Case-Szenario. Ich sollte wahrscheinlich "Anonymous Proxy" in meiner ursprünglichen Frage angegeben haben, wie die Beispiele, die Sie aufgeführt haben (Corporate oder Local NAT) sind korrekt, aber aus meiner Sicht überschaubar. –

+0

Ein paar Jahre später hier, aber auch wenn die IP von Zeit zu Zeit wechselt, ist es nützlich für geographische Informationen auf hoher Ebene. Mein ISP wird mir von Zeit zu Zeit wahrscheinlich eine andere IP geben, aber sie werden alle gleich aussehen. Es wäre offensichtlich, dass ich irgendwo in den Vereinigten Staaten bin. Das kann für viele Anwendungen gut genug sein. – juanpaco

Verwandte Themen