$_SERVER['REMOTE_ADDR'] nicht zu geben die richtige ip-Adresse
Mache ich ein Formular mit PHP und ich möchte Sie halten Aufzeichnung der Nutzer-IP-Adressen. Dies ist die snip-it der code, den ich verwendet:
<input type="hidden" name="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>" />
Wenn ich den code in XAMPP und Lesen Sie die Quelle, den Wert hatte eine IP-Adresse anders als das, was war meins:
<input type="hidden" name="ip" value="::1" />
Macht diese IP-Adresse, die normalerweise passieren, wenn ich es in einem localhost (XAMPP)?
Wenn nicht, gibt es irgendwelche alternativen greifen die Nutzer-IP-Adresse?
InformationsquelleAutor zeldarulez | 2012-06-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht. Holen Sie sich die Anfrage von
$_SERVER
wenn das Formular abgeschickt wird. Immer, wenn das Formular erzeugt wird, und speichern Sie es in der form nur gibt den Menschen die Möglichkeit es zu ändern.Ja. Immer die lokale IP (IPv6) - Adresse ist normal, wenn Sie eine Seite von localhost.
Was ist, wenn jemand ändert seine ip-Adresse irgendwie (wie die Verwendung von VPN oder irgend etwas)? Dann werde ich Sie nicht bekommen die richtige ip des PC. ist es?
InformationsquelleAutor Quentin
IP -
::1
"localhost" in der IPv6-version. Ihr Computer konfiguriert ist, mit IPv6 und damit sind Sie immer diese IP-Adresse. Wahrscheinlich, beim bereitstellen der Anwendung auf dem live-server, IPv6 wird nicht auf dem server konfiguriert und Ihre app erhalten eine weitere bekannte IPv4-Adresse (z.B. aaa.bbb.ccc.ddd).Auf einer anderen Anmerkung,
$_SERVER['REMOTE_ADDR']
kann nicht immer enthalten die richtige Adresse. Es ist besser zu Verwendung:Verspätet, aber auch im Hinterkopf behalten, wenn Sie verwenden, HTTP_X_FORWARDED_FOR, die Sie nicht Vertrauen können, dies zu erlauben nur den Zugriff auf lokale IPs für die sichere admin-Seiten, weil der Kopf manipuliert werden können sehr leicht. In der Tat, StackOverflow einmal zum Opfer fiel, diese Sache sehr und zum Glück eine freundliche user berichtete es Ihnen.
also, was ist der sichere Weg, um Benutzer-Maschine mit der IP-Adresse ? Ich müssen zu erlauben, meine Seite zu öffnen für Sie nur eine einzige IP.
Wenn Sie es brauchen, um Arbeit für alle IP -, dann, warum Sie auch über die Pflege der IP-Adressen? Es gibt keinen narrensicheren Weg, um die IP-Adresse. Der code, den ich zeigte ist das, was ich verwendet habe, - und es deckt auch alle, aber nur wenige Ausnahmen.
treffen Sie Ihre Wahl: Benutzername/Kennwort, Benutzer-Zertifikate, Tunnelbau.
InformationsquelleAutor Aleks G
'::1' IPV6-version von localhost (oder 127.0.0.1).
Öffnen Sie port 80 und besuchen Sie die Seite von Ihrer IP-Adresse. Sollte gut funktionieren, dann :).
InformationsquelleAutor Prash
1). Sie nicht brauchen, um hinzuzufügen
<?php echo $_SERVER['REMOTE_ADDR']; ?>
zu bilden. In diesem Fall ist es einfach zu fälschen (eigentlich ist es einfach jeden Fall). Besser hinzufügen von IP-Daten auf der server-Seite.2) Sie können sich auch auf
$_SERVER['HTTP_X_FORWARDED_FOR']
.Wenn Benutzer über ein proxy, und einige von Ihnen (transparente proxies) statt Reale Nutzer-IP-da.
3) Nur Hinweis: Daten, die über IP-Adressen ist nicht vertrauenswürdig überhaupt.
InformationsquelleAutor Nayjest
Dies ist eigentlich Ihre IP-Adresse. Wenn auch Sie Ihre IPv6-IP und nicht die IPv4.
In IPv6 ::1 steht für localhost /127.0.0.1.
InformationsquelleAutor Khôi
Dieser code gibt die ip des Clients. Wenn Sie denken, das ist die server-IP, hast du wahrscheinlich Recht, da Ihr server ist (vermutlich), gehostet auf Ihrem pc.
Seit Ihrem client (pc) und den server auf dem gleichen pc, haben Sie beide die gleiche ip haben.
Wenn Sie das nicht verstehen, sollten Sie wirklich tun, einige der Forschung in, ips, lokale IP-Adressen und all das Zeugs.
InformationsquelleAutor Max