Ich habe ein einfaches PHP-Skript, das Benutzer IP-Adressen protokolliert, wenn sie eine Verbindung zu meiner Website herstellen, verwendet meine Website CloudFlare. Ich benutze $_SERVER["HTTP_CF_CONNECTING_IP"];
, um die IPV4-Adresse des Clients zurückzugeben, so dass es in einer Datei mit dem Datum und der Uhrzeit protokolliert werden kann, aber manchmal protokolliert es eine IPV6-Adresse.Cloudflare Header zurück IPV6 Adresse
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
$filename = 'loggedips.txt';
$myfile = fopen($filename, "r") or die("Unable to log IP!");
$string = fread($myfile,filesize($filename)).date(DATE_RFC2822)." -- $ip\r\n";
$fp = fopen($filename, 'w') or die("Unable to log IP!");
fwrite($fp, $string);
fclose($fp);
In meinen Logs ich eine Mischung aus IPv4-Adressen zu sehen bin und IPV6-Adressen
Thu, 23 Feb 2017 19:08:40 +0100 -- 99.253.44.66
Thu, 23 Feb 2017 19:10:14 +0100 -- 2003:00o1:4hc0:e68c:3113:7l06:2qf1:6e84
und Adressen Protokollierung IPV6 ist nichts für mich, so dass ich frage mich, wie ich dieses Problem beheben könnte Problem, damit ich nur IPV4-Adressen protokollieren kann. Und was verursacht dieses Problem?
Eigentlich fand ich einen PHP-Skript, die IPV6 zu IPV4 konvertiert und es funktioniert, ist die einzige Sache ist, dass die IPV6-Adressen, die protokolliert werden gehen cloudflare –