Hallo zusammen,
ich habe in meinem Gästebuch einen IP-Blocker eingebaut. Dazu wird die IP-Adresse des Eintragers zusammen mit einem Timestamp in einer Logdatei auf dem Server gespeichert. Nun stellte ich heute durch Zufall fest, dass die Abfrage auf Gleichheit der IP-Adresse nicht funktioniert. Folgende Konstellation war gegeben:
Meine IP-Adresse : 80.128.115.70
Andere IP-Adresse: 80.128.178.50
Der Eintrag war von Andere nicht möglich, obwohl eine andere IP-Adresse vorhanden ist. Ich frage auf Gleichheit wie folgt ab:
if $ip == $saved_ip
Dabei vergleicht er scheinbar nur die ersten zwei Bytes der IP-Adresse, da der Punkt als Dezimaltrenner gesehen wird, und es da logischerweise auch nur einen gibt, da hat er Recht. Ein Vergleich mit "eq" erzeigt gar keinen Erfolg. Die Überlegung von mir, die Punkte aus dem String zu entfernen, ist auch nicht gut, man stelle sich folgende IP-Adressen vor:
80.128.112.10
80.128.11.210
Da käme in beiden Fällen folgende Zahl heraus:
8012811210
Wie kann ich nun die IP-Adressen vergleichen, so dass das immer funktioniert?
Vielen Dank für alle Tipps.
MfG
Sascha Müller