Ich muss IPv6-Adressen in IPv4-Adressen konvertieren. Um dies zu tun, habe ich Code aus pedmillon's answer to a related question:Konvertieren von IPv6 zu IPv4-Adresse in PHP
$ipv6 = $_SERVER['REMOTE_ADDR'];
$ipv4 = hexdec(substr($ipv6, 0, 2)). "." . hexdec(substr($ipv6, 2, 2)). "." . hexdec(substr($ipv6, 5, 2)). "." . hexdec(substr($ipv6, 7, 2));
Ich habe versucht, es in meinem localhost und :: 1 wird zu 0.1.0.0 umgewandelt. Funktioniert dieser Code korrekt?
Ich glaube, es sollte 127.0.0.1 anstelle von 0.1.0.0 zeigen.
IPv6-Adressen können nicht in IPv4-Adressen konvertiert werden. Das ist, als wolle man Äpfel in Bananen verwandeln. Für den Anfang gibt es ** 340.282.366.920.938.463.463.374.607.431.768.211.456 ** mögliche IPv6-Adressen, während nur ** 4.294.967.296 ** mögliche IPv4-Adressen. Lass mich also etwas verfeinern: Das ist so, als ob man mehrere Äpfel im Wert von Galaxien in eine Banane verwandeln möchte. – spectras
hmm .. wäre es dann die beste Lösung, wenn ich meinen Apache stattdessen zwingen würde, die IPv4-Adresse zu verwenden? –
Die zukunftssichere Lösung wäre es, ipv6 zu unterstützen. Um den Übergang zu erleichtern, können Sie Ihrem Server mitteilen, dass Sie IP-Adressen in den IP-Adressraum mappen möchten, und von dort aus arbeiten Sie nur mit IPv6. – spectras