kemi, Endre: Kiváncsivá tettetek, leszedtem és kipróbáltam volna a ReactOS-t, de két gépből kettőn nem ment...ez van.
sarxp: A _SERVER tömb HTTP_CLIENT_IP eleme tartalmazza. Vagy ha az nem jön be, akkor a REMOTE_ADDR elem. De lehet benne még átirányítás is, stb. A bgafc és az oscomp ezt a függvényt használja erre:
function realIP() {
$ip = FALSE;
if (!empty($_SERVER["HTTP_CLIENT_IP"])) { $ip = $_SERVER["HTTP_CLIENT_IP"]; }
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) {
if (version_compare(phpversion(), "5.0.0", ">=")) {
if (ip2long($ips[$i]) != false) {
$ip = $ips[$i];
break; }
} else {
if (ip2long($ips[$i]) != -1) {
$ip = $ips[$i];
break; }
}
}
}
}
if (!$ip) $ip = $_SERVER['REMOTE_ADDR'];
return $ip;
} |