Ich benutze Xampp auf localhost und wenn ich $_SERVER["REMOTE_ADDR"]
verwende, gibt es ::1
zurück (tut auch dies in phpinfo()
). Warum macht es das? Ich möchte, dass es eine normale IP-Adresse wie 127.0.0.1 zurückgibt. Mein Betriebssystem ist Windows Vista.remote_addr nicht zurück IPv4-Adresse
Antwort
::1
ist ein IPv6 address und eine Abkürzung für 0:0:0:0:0:0:0:1
das ist die loopback address an die lokale Maschine. So ist ::1
das gleiche wie 127.0.0.1
nur über IPv6 statt IPv4.
Ihr Apache wartet standardmäßig auf IPv6-Verbindungen (::1
ist local loopback). Wenn Sie wirklich nur IPv4 wollen, versuchen Sie deaktivieren IPv6-Verbindungen in Ihrer Apache-Konfiguration zu deaktivieren:
Wenn Sie Apache wollen nur IPv4-Verbindungen behandeln, unabhängig davon, was Ihre Plattform und die APR unterstützen, geben Sie eine IPv4-Adresse auf allen hören Richtlinien, wie in den folgenden Beispielen:
Listen 0.0.0.0:80
Listen 192.170.2.1:80
Sie müssen die IPv6-Unterstützung in Ihrem Betriebssystem deaktivieren, damit Apache diese Adressen im IPv6-Format nicht mehr anzeigen kann, wenn Sie das IPv4-Format verwenden möchten. Ich habe die IPv6-Unterstützung deaktiviert und funktioniert jetzt wie erwartet.
Mit der folgenden Anleitung IPv6 deaktivieren könnte hilfreich sein, http://support.microsoft.com/kb/929852
Nur damit Sie wissen, dass ich die Schritte folgen in den obigen Link beschrieben und ich bin mit Windows 7 nicht Vista, obwohl ich bezweifle, dass es eine oder viele sein könnte Unterschiede.
Ich bin kürzlich in dieses Problem geraten, obwohl ich mich nie daran erinnere, die ipv6-Unterstützung auf meinem System zu aktivieren, könnte von Microsoft in einem ihrer Updates (vielleicht) getan werden.
Wechseln Sie zum XAMPP-Bedienfeld. Öffnen Sie Apache (httpd.conf), das in der ersten Zeile zu finden ist, also die Aktionen des Apache-Moduls. Gehe zu hören (Sie können Strg + F dies), die 80 zeigt (wenn Sie IPv6 aktiv haben) ändern Sie es zu Listen 0.0.0.0:80
und Sie sind fertig. Starten Sie Apache neu und Sie werden ::1
in Ihrem Browser nicht mehr sehen. Dies wird glücklich Ihre localhost zurückgeben, d. H. 127.0.0.1
- 1. Warum gibt request.env ['REMOTE_ADDR'] zwei IPs zurück?
- 2. Apache kann nicht bestimmen [REMOTE_ADDR]
- 3. nicht remote addr request.META ['REMOTE_ADDR'] funktioniert nicht
- 4. Nginx proxy_pass mit $ remote_addr
- 5. HTTP_CLIENT_IP funktioniert nicht, REMOTE_ADDR funktioniert, WARUM?
- 6. Load Balancer $ _SERVER ['REMOTE_ADDR'] Funktioniert nicht
- 7. Problem mit $ _SERVER [ ‚REMOTE_ADDR‘]
- 8. REMOTE_ADDR und IPv6 in PHP
- 9. Unterschied zwischen REMOTE_HOST und REMOTE_ADDR
- 10. Ist Request.ServerVariables ["REMOTE_ADDR"] zuverlässig genug?
- 11. .htaccess% {TIME} und {% REMOTE_ADDR} kombiniert
- 12. $ _SERVER ['REMOTE_ADDR'] nicht geben die richtige IP-Adresse
- 13. REMOTE_ADDR wird nicht mit Nginx & Tornado nach Django gesendet
- 14. Wie genau ist GeoIP und $ _SERVER ['REMOTE_ADDR']?
- 15. Wie man REMOTE_ADDR in Apache setzt, bevor php aufgerufen wird
- 16. Können wir $ _SERVER ['REMOTE_ADDR']/user ip mit PHP cURL vortäuschen?
- 17. Warum verwendet REMOTE_ADDR mit Django 127.0.0.1 auf einem Webserver?
- 18. Was ist der Unterschied zwischen Request.UserHostAddress und Request.ServerVariables ["REMOTE_ADDR"]. ToString()
- 19. Erhalten mehr als 1ip während der Verwendung von $ _SERVER ['REMOTE_ADDR']
- 20. AJAX Nicht zurück
- 21. Yield nicht Wert zurück
- 22. Paramiko nicht zurück stdout
- 23. Alamofire json zurück "=" nicht ":"
- 24. shape.Parent nicht zurück Slide
- 25. fopen gibt nicht zurück
- 26. DocumentContext nicht Wert zurück
- 27. Zurück false funktioniert nicht
- 28. HttpURLConnection getResponseCode nicht zurück
- 29. GetGeopositionAsync gibt nicht zurück
- 30. Datei nicht entschlüsselt zurück