Tagwächter: Wertebreich Integer contra IPv4 in Long

Beitrag lesen

Hallo Rolf b,

Wenn Du auf Schieberei verzichtest und lediglich die Bit-Operatoren verwendest (& | und ~), ist alles gut. Wie Du mit 32-bit Integers aus der Präfixlänge eine Subnetzmaske machst, habe ich oben beschrieben (-pow(2, 32-$prefixlaenge)).

Scheint mit pow() auch nicht zu funktionieren, da bei ip2long() und long2ip() scheinbar ein Fehler mit einem anderen ausgeglichen wird ... Aber mit


$netmask = 0xFFFFFFFF << (32 -$cidr);

scheint es wirklich zu funktionieren. Ich teste gerade noch.

Und dann willst Du irre langsames und kompliziertes Zeug machen?

Da hast Du:

<?php
$netmask = 0xFFFFFFFF;
var_dump($netmask); ### float(4294967295)
$netmask = ip2long('255.255.255.255');
var_dump($netmask); ### int(-1)
$netmask = sprintf('%u', ip2long('255.255.255.255'));
var_dump($netmask); ### string(10) "4294967295"
$netmask = 1 * $netmask;# implizite Typumwandlung durch Rechenoperation
var_dump($netmask); ### float(4294967295)

Hinter den Ausgaben stehen die Ausgaben, die auf einem 32-Bit-System kommen. Auf 64-Bit-Systemen kommt:

int(4294967295)
int(4294967295)
string(10) "4294967295"
int(4294967295)

Wie auch immer. Hier steht alles, was Du brauchst ... Den Rahmen für den Check mehrerer IPs und andere Ausgaben kannst Du ja selbst machen. Oder ist das zu einfach?

0 74

Array-Work

TS
  • php
  1. 1
    Christian Kruse
    1. 0

      geschachtelte Arrays, IP-Listen aufeinander abgleichen, LÖSUNG und Dank

      TS
  2. 1
    mermshaus
    1. 0
      dedlfix
      1. 0
        mermshaus
        1. 0
          dedlfix
          1. 0
            mermshaus
            1. 0
              dedlfix
              1. 0
                mermshaus
                1. 0
                  Rolf b
                  1. 0
                    mermshaus
                    1. 0
                      Rolf b
                      1. 0
                        mermshaus
                        1. 0
                          TS
                          • netzwerk
                          • routing
                          1. 0
                            Christian Kruse
                            • netzwerk
                          2. 0
                            Auge
                            • netzwerk
                            • zu diesem forum
                            1. 0
                              TS
                              1. 0
                                Christian Kruse
                                1. 0
                                  TS
                                  1. 0
                                    Auge
                                    1. 0
                                      TS
                                      • menschelei
                              2. 0
                                Auge
                                1. 0
                                  Christian Kruse
                        2. 0
                          Rolf b
                          1. 0
                            TS
                            • php
                            • programmiertechnik
                            • sicherheit
                            1. 0
                              Christian Kruse
                          2. 0
                            mermshaus
                            1. 0
                              TS
                2. 0
                  TS
                  1. 0
                    TS
                  2. 0
                    Rolf b
  3. 0
    pl
    • perl
    1. 1
      Christian Kruse
      1. 0
        pl
        1. 0
          Christian Kruse
      2. 0
        TS
        • php
        1. 0
          pl
          1. 0
            TS
  4. 0

    Wertebreich Integer contra IPv4 in Long

    TS
    1. 0
      Matthias Apsel
      1. 0
        Der Martin
        1. 0
          Matthias Apsel
        2. 0
          TS
          1. 0
            Matthias Apsel
            1. 0
              TS
          2. 0
            Christian Kruse
            1. 0
              TS
              1. 0
                Christian Kruse
                1. 0
                  TS
      2. 0
        TS
        1. 0
          Matthias Apsel
          1. 0
            TS
            1. 0

              Lösung übersehen?

              Tagwächter
              1. 0
                Tagwächter
              2. 0
                TS
        2. 1
          Tagwächter
    2. 1
      Rolf b
      1. 0
        TS
      2. 0
        TS
        1. 0
          Tagwächter
          1. 0
            TS
            1. 0
              Tagwächter
  5. 1
    Tagwächter
    • php
    • programmiertechnik
    1. 0
      TS
      1. 0

        fail2ban kann das selbst!

        Tagwächter
        1. 0
          TS
          1. 0
            Tagwächter
            1. 0
              TS
        2. 0
          TS
          • php
          • programmiertechnik
          • webserver
          1. 0

            fail2ban - multible logfiles

            Tagwächter
            • linux
            • webserver
            1. 0
              TS
              1. 0
                Tagwächter
                1. 0
                  TS