Enrico: Ist ein einfaches "&" bei einer Abfrage ein Fehler?

Hallo,

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?
Ich kenne das "&" bei Abfragen nur als "&&" in der Bedeutung von "und".

Gruß,
Enrico

  1. Hallo Enrico,

    Ist das einfache "&" hier ein Fehler?

    keine Ahnung, ob da ein bitweises Und ein Fehler ist.

    Gruß, Jürgen

    1. Hallo Jürgen,

      keine Ahnung, ob da ein bitweises Und ein Fehler ist.

      Hm, ok, jetzt weiß ich zumindest, dass es auch ein bitweises "Und" gibt.

      Nachdem in den Kommentaren aber nichts vermerkt ist, dass hier ein Fehler vorliegt, nehme ich an, dass das richtig ist.

      Gruß,
      Enrico

  2. 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