Ankündigung

Einklappen
Keine Ankündigung bisher.

"Nachträgliche" IP-Sperre

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • "Nachträgliche" IP-Sperre

    Hallo,

    momentan speichere ich in einer Tabelle bei jedem Seitenaufruf IP+Timestamp des Besuchers (ohne IP-Sperre). Wie kann ich möglichst einfach (am besten als SQL-Abfrage) auf Basis dieser Daten im Nachhinein eine "IP-Sperre berechnen"?

    Also z.B. die Anzahl der Clicks z.B. mit IP-Sperre 1h, oder auch 2h, flexibel halt.

    Will vermeiden, dass ich 2 Tabellen führen muss, einmal mit und einmal ohne IP-Sperre zumal ich mich dann wohl fest auf die Dauer von z.B. 1h festlegen müsste. Hat jemand hierzu eine Idee, stehe irgendwie auf dem Schlauch

    Viele Grüße,
    sinister2k


  • #2
    Hi.

    Let me google that for you

    z.B. 2. Link (usw.)

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Weitere Spalten in der Tabelle, mit einem Boolischen Wertob xyz geblockt ist oder nicht.
      Look at This!
      Digital-Duty.DE
      Für Syntax-Fehler übernehme ich keine Haftung!

      Kommentar


      • #4
        @Tholi: dazu muss ich aber auch im Vorhinnein festlegen, dass die IP-Sperre z.B. 1h Stunde ist, dann klappt das prima.

        Fällt jemanden eine Möglichkeit ein, wie ich auf den "Rohdaten" (also den IP/Timestamps ohne IP-Sperre) zu einem späteren Zeitpunkt im Idealfall per MySQL Abfrage eine IP-Sperre "simulieren" kann, also mir die Anzahl der Einträge in der Tabelle mit 1h, 2h oder 24h IP-Sperre anzeigen lassen kann?

        Kommentar


        • #5
          Spontane Idee für MySQL , hilft vielleicht als Denkanregung...

          Code:
          CREATE TABLE ip_sperre (
           ip VARCHAR(60) NOT NULL,
           zeit TIMESTAMP NOT NULL
          );
          
          CREATE INDEX sx_ip_sperre_01 ON ip_sperre ( ip, zeit);
          
          INSERT INTO ip_sperre VALUES
          ('255.255.255.255', current_timestamp);
          
          INSERT INTO ip_sperre VALUES
          ('255.255.255.254', current_timestamp);
          
          INSERT INTO ip_sperre VALUES
          ('255.255.255.253', current_timestamp);
          
           
          SELECT COUNT(*) AS sperre
            FROM ip_sperre
           WHERE ip = '255.255.255.254'
           GROUP BY ip
           HAVING MAX(zeit) >= SUBTIME(current_timestamp,'01:00:00.000000')  ; -- minus 1 Stunden 
           
           // 1 = sperre  0 = keine sperre
          Grüße
          Thomas

          Kommentar

          Lädt...
          X