Probleme mit IP-Sperre - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Gerrit (81 Beiträge) am Dienstag, 27.November.2001, 08:28. WWW: www.liebesrose.de
    Probleme mit IP-Sperre

      Hallo. Ich habe den Perltext und den do-Befehl wie unten angegeben in den Quelltext eingefügt. Nun passiert folgendes.Ich möchte ja, das jeder nur eine Anzeige aufgeben kann und beim Versuch, eine zweite Anzeige aufzugeben, eine Meldung erhalten soll, dass er bitte nur eine Anzeige aufgeben soll..... Das alles funktioniert einwandfrei. Prima.

      Es gibt allerdings noch Probleme mit den "ip" und "zeit" Feldern in der db "sperre". Dort haben sich jetzt mittlerweile 459 Einträge angesammelt. Nur in den ersten beiden Einträgen sind "ip" oder "zeit" Informationen enthalten. Die anderen 457 Felder sehen so aus wie Eintrag 3. Es sollten aber alle Einträge, die älter als 2 Stunden ( 7200 sec ) sind komplett verschwinden. Wie kann man das erreichen ?

      Ich bekomme auch keine Bestätigungsmail. Aber das sollten wir vielleicht später machen.

      Aktion ip zeit
      Ändern | Löschen <<Leer>> 1006555204
      Ändern | Löschen 62.109.68.3 1006555286
      Ändern | Löschen <<Leer>>
      Ändern | Löschen <<Leer>>
      Ändern | Löschen <<Leer>>


      <perl>
      #Zeitschranke definieren:
      $sek=7200;
      $gesperrt=0;
       
      #IP abfragen:
      $ip=$_REMOTE_ADDR;
       
      #loesche alte Eintraege ( "ip" und "zeit" ) in der db "sperre":
      del "zeit<".time-$sek,"sperre";
      #IP in der Datenbank suchen und pruefen, ob schon vorhanden:
      get "ip==$ip","sperre"; #oder wie die DB heißt
      #wenn IP bereits vorhanden, prüfe ob IP innerhalb der letzten 2 Stunden (7200 sec.) angelegt wurde:
      if (($_amount>0) && ($zeit > time-$sek))
       
      #wenn ja, sperre den Typen:
      {
      out "<b><font color=\"#ff0000\">Bitte nur eine Kontaktanzeige aufgeben ! Bei Fragen wende Dich bitte an den <a href=\"mailto:webmaster\@liebesrose.de\">Webmaster.</a></font></b>"; # Ausgabe des Hinweises...
      $cmd="";
      undef %_put;
      }
      else
      {
      $_put{ip}=$ip;
      $_put{zeit}=time;
      put undef,"kontakte"; # alle Daten aus dem Formular werden eingetragen + ip + time (über hidden im Formular)
      put undef,"sperre";
       
      undef %_put;
      }
      </perl>
      

      <do action=all formfields=-Id,ip,zeit dataface=arial spacing=10 databack=fff8f0 gridcolor=fff8f0 border=0 headalign=middle datasize=2 list=list browse=no showamount=no sort^=- range^=0,20 pagebrowse=top buttonbrowse=no listtype=list listfields=Ueberschrift,Name,Geschlecht,Ort,EMail,Telefon input=top>
       

      Danke. Gerrit.


    Antworten 
 Liste der Einträge von 54150 bis 54300:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!