Die Internet-
IP zu ermitteln ist eine kleine Wissenschaft für sich... Man kann nunmal leider nicht feststellen, ob ein PC direkt via DFÜ/Lan am Internet hängt und das Interface somit auch die gesuchte
IP hat, oder ob man z.B. hinter einem Router hängt. Dann unterscheidet sich die externe
IP nämlich von der internen.
Ich wüsste also nicht, wie man ohne ein Script oder Service im Internet
zuverlässig die
IP ermitteln kann. Wenn Du Angst hast, das der Service, den du nutzen willst, irgendwann den Dienst einstellt, dann wäre es natürlich am einfachsten, auf einem eigenen Webspace so ein Script abzulegen.
Hier mal die Routine vom phpBB, mit der die
IP des Users ermittelt wird, ist direkt so nutzbar - nur als .php irgendwo speichern und auf Scriptfähigen Webspace hochladen.
Code:
<?php
if (getenv('HTTP_X_FORWARDED_FOR') != '') {
$client_ip = (!empty($HTTP_SERVER_VARS['REMOTE_ADDR'])) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ((!empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR);
if (preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", getenv('HTTP_X_FORWARDED_FOR'), $ip_list)) {
$private_ip = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.16\..*/', '/^10.\.*/', '/^224.\.*/', '/^240.\.*/');
$client_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
}
} else {
$client_ip = (!empty($HTTP_SERVER_VARS['REMOTE_ADDR'])) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ((!empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR);
}
echo $client_ip;
?>
Debuggers don't remove Bugs, they only show them in Slow-Motion.