Moin!
auf dieser Seite habe ich beim zweiten Tipp ("Check for suspicious activity and immediately...") im unteren schwarzen Kästchen folgende Abfrage gefunden:
If ($_SESSION['_USER_LOOSE_IP'] != long2ip (ip2long ($_SERVER['REMOTE_ADDR']) & ip2long ("255.255.0.0"))
Ist das einfache "&" hier ein Fehler?
Nein. "ip2long()" erzeugt aus einer IP-Adresse die zugehörige Integerzahl, wenn man die dezimalen Zahlwerte als Bytes auffasst. Das zweite "ip2long()" erzeugt ein Bitmuster, welches UND-verknüpft mit der IP-Adresse des Users, die letzten beiden Zahlwerte der IP auf 0 setzt, also praktisch ausblendet.
Das Verfahren hat ein paar kleine Problemchen:
Erstens: Was ist mit IPv6? Wird nicht berücksichtigt, sollte es aber besser.
Zweitens: Ein sogenanntes /16-Netz ist einigermaßen riesig - ist es überhaupt sinnvoll, so eine Prüfung dann noch durchzuführen? Andererseits: Setzt man die Grenze enger, kriegt man eventuell korrekte Benutzer ausgeloggt, die nur regulär ihre IP gewechselt bekommen haben.
Insofern bleibt da bei mir ein wenig schaler Beigeschmack: Wer gibt denn heutzutage noch solche komischen Tipps und erklärt sie so schlecht?
- Sven Rautenberg