Node.js: Erhalte die IP des Clients
req.- Verbindung.remoteAddress, req.Header['x-forwarded-for'], req.ip, erf.ips, was bedeutet das alles?
Ist es ein straight forward Weg, um einfach die IP-Adresse des client - /user-agent, der die Anfrage auf meine Website in Knoten.js/Express? Ich bin nicht zu verstehen, alle proxy-Zeug, oder was die Unterschiede zwischen den Eigenschaften von dem req-Objekt. Auch ich verstehe nicht, was der 'trust proxy' option für die Express.
Könnte jemand geben Sie mir einfach eine Erklärung, was der Unterschied ist zwischen all diesen Eigenschaften und Antwort, wie kann ich nur einfach die client-IP?
InformationsquelleAutor der Frage Sam | 2013-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
req.ip
ist der einfache Weg, um die client-IP-Adresse in der Express. Sehen Sie die Logik, die er verwendet (das heißt packte das erste Element aus der array-proxy-Adressenreq.ips
in denen das array aufgebaut ist, von derx-forwarded-for
Header) hier.InformationsquelleAutor der Antwort dankohn
InformationsquelleAutor der Antwort Svbaker
sehr einfach
InformationsquelleAutor der Antwort Behnam Mohammadi
Andere bemerkt haben, die durch die Nutzung potenzielle Nutzung von proxies, die Sie wirklich verwenden sollten, erf.ip und NICHT mit dem X-Forwarded-For-header, wie so viele Leute sind zu empfehlen. So lange, wie Sie Sie richtig konfigurieren Sie einen proxy als vertrauenswürdiger proxy, req.ip wird immer wieder die end-IP-Adresse des Benutzers.
z.B. Wenn Sie einen proxy-das war die Verbindung von 8.8.8.8 Sie tun würde:
Da Sie das Vertrauen der proxy würde dies jetzt machen, also was übergeben wird, in dem X-Forwarded-For-header gespeichert werden, req.ip, aber NUR, wenn es stammt aus einer der vertrauenswürdigen proxies.
Mehr auf Vertrauen proxy finden Sie hier.
Nun, wie andere schon angemerkt in den Kommentaren, vor allem, wenn Sie lokal entwickeln, erhalten Sie möglicherweise die ip-Adresse in dem format "::ffff:127.0.0.1".
Immer Holen Sie sich die IPv4-Adresse, die ich habe:
InformationsquelleAutor der Antwort Doug
Immer die client-IP ist ziemlich einfach:
InformationsquelleAutor der Antwort Garistar