IP-Adresse Unterschied intern / extern
felix_se_cat
- php
0 Götz0 ulrich knoerzer
Hi,
Ich lese mit
$ip=getenv("REMOTE_ADDR");
die IP-Adresse aus. Nun möchte ich aber (da ich das für eine Browserstatistik brauche) unterscheiden zwischen internen und externen IPs. Ich weiß das interne IPs mit 192.168. anfangen.
Wie bekomm ich das hin das ich mit einer IF-Abfrage nach internen IPs abfrage?
Danke für Hilfe
mfg
Hallo felix!
$ip=getenv("REMOTE_ADDR");
die IP-Adresse aus. Nun möchte ich aber (da ich das für eine Browserstatistik brauche) unterscheiden zwischen internen und externen IPs. Ich weiß das interne IPs mit 192.168. anfangen.
Du kannst ja mit preg_match() und nem einfachen regulären Ausdruck prüfen.
Aber nicht nur 192.168.*.* sind "interne", da gibts noch mindestens einen anderen Block (siehe auch http://www.faqs.org/rfcs/rfc3330.html für Genaueres über "spezielle IP-Adressen").
MfG
Götz
hi!
Danke für den Tip, haut hin mit preg_match().
Ich wusste das es mehrere Spezifikationen für "interne" IPs gibt aber ich weiß halt das bei uns nur 192.168.xxx.xxx IPs "intern" sind, deshalb. Aber danke trotzdem für die Seite!
Mfg
Hallo,
zuerst einaml gibt es auch andere internet ips 10.11. ...
Aber zu deinem problem, ganz einfach mit ner regular expression
if ($ip = preg_match("/192.168.([1-9][0-9]{1,2}){2}))
{
local
}
else
{
nicht lokal
}
reg ex ist ungetestet aber denk das sollt so hinhauen, wie gesagt es gibt auch noch andere lokale ips, fuer die man dann ggf. auch noch eine reg ex schreiben muss.
Uli