TS: gemeinsame Route bestimmen

Beitrag lesen

Hello,

Grundidee für PHP:
erstmal die Übereinstimmungen suchen


$supernet_long = (($iplong_1 & $iplong_2) | (~$iplong_1 & ~$iplong_2));  

Aber Achtung, das ist ggf. eine 64-Bit-Zahl, deshalb beim Weiterarbeiten mit decbin() nur die rechten 32 Stellen benutzen substr(..., -32). Darin mit strpos() die Position der ersten "0" bestimmen. Das ist dann schon das CIDR-Suffix.

Die Bitmaske ist dann der linke Teil bis zur "0", aufgefüllt auf 32 Stellen mit "0". Zurückwandeln mit bindec().

Die Netz-IP ergibt sich dann wieder aus Bitmaske & IP[x] (egal welche von beiden) + CIDR-Suffix.

Für den IP-Check kann man auch filter_var() benutzen.

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.