IP-Sperre

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

  • #16
    Für was soll das DELETE denn sonst sein ?

    Kommentar


    • #17
      pass auf:

      DELETE kann nur nen ganzen datensatz löschen. das heißt alle Felder, nicht nur eins.

      Deswegen kannst du entweder die Delete Veriante nehmen, dann brauchst du ne extra Tab, wo nur IP und Timestamp drin sind.

      Wenn du den Comment aber mit IP zusammen abspeicherst, darfst/kannst/sollst/brauchst/usw. du kein DELETE mehr. Da wird einfach das Select angepasst und die sache läuft.

      Kommentar


      • #18
        ohne das tut zu kennen wage ich zu behapten, dass es in etwa so abläuft:

        eine tabelle mt deinen einträgen
        eine weitere tabelle mit den IPs und dem datum der letzten aktion

        jetzt wird beim eintragen geschaut, ob die IP des eintragers in der zweiten tabelle steht und die gespeicherte zeit weniger als 120 sekungen zurückliegt, ist das der fall wird nix eingetragen

        damit die zweite tabelle nicht immer voller und voller wird, werden die datensätze rausgelöscht, deren eintragszeit länger als 120 sekunden zurückliegt
        aus diesem grund (dem nicht immer voller und voller) wird auch die komplette zeile aus dem tabelle gelöscht und nicht nur der wert in der zeitspalte

        und zum löschen von tabellenzeilen verwendet man eben delete
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #19
          @happy: wenigstens einer, ders rallt. das ganze hab ich meiner meinung nach auch schon mehrfach geschrieben. und im Tutorial stehts auch (habs eben mal halb überflogen um zu sehen, obs wirklich so schwierig zu verstehen ist).

          Kommentar


          • #20
            Original geschrieben von TobiaZ
            @happy: wenigstens einer, ders rallt.
            OffTopic:
            danke für die blumen


            @jOhnny knOx
            wenn du so probleme mit dem tut hast, dann poste doch einfach mal den link dazu, evtl. findet sich dann ja der/die ein oder andere um dir hilfreich zur seite zu stehen

            P.S. wehe dir, ich finde in dem tut dann was, was du hier gefragt hast, obwohl's dadrin erklärt wird...
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #21
              Dann steht bei mir nur

              PHP-Code:
              $secs 120;
              $time time ();
              $invalid $time-$secs;

              $order "SELECT * FROM $news_com_tname WHERE ip='".$ip."'";
              $result mysql_query($order); 
              nach dem if ($add){. Und $invalid ist ja eigentlich für die Zeitspanne der IP-Sperre gedacht, wie mache ich das denn nun ?

              Kommentar


              • #22
                @Happy: Glaub 6 Seite in unseren Tuts (von Joel die normale IP-Sperre mit SQL. Nicht der Counter.) Aber gucks lieber nicht an.

                @Johnny: Es kommt ja langsam.

                dann änderst du das * noch in ein id (oder EIN anderes Feld deiner DB)

                und statt dem = machst du dann > und fertig ist

                Kommentar


                • #23
                  @happy: http://www.php-resource.de/tutorials/read/6/1/ bitte nicht aufregen.

                  Und n Limit kannst du auch rein machen. Du kannst ja davon ausgehen, dass nur ein Datensatz drin ist, dann muss er ja nicht länger suchen.

                  BTW: *VERSCHIEB*
                  Habs grad erst gemerkt. Macht mich jetzt richtig sauer, dass du im falschen Forum gepostet hast

                  Kommentar


                  • #24
                    PHP-Code:
                    $order "SELECT IP FROM $news_com_tname WHERE ip >= '".$ip."'";
                    $result mysql_query($order); 
                    Das steht nun bei mir, möchte ich einen Kommentar abgeben so dauert aber das laden ungeheuer lang und nichts geht ...

                    Kommentar


                    • #25
                      Original geschrieben von TobiaZ
                      @happy: http://www.php-resource.de/tutorials/read/6/1/ bitte nicht aufregen.
                      doch *grml*

                      @jOhnny knOx
                      was für tabellen hast du?
                      wie sind die aufgebaut?
                      was willst du machen?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #26
                        Original geschrieben von mrhappiness
                        doch *grml*

                        @jOhnny knOx
                        was für tabellen hast du?
                        wie sind die aufgebaut?
                        was willst du machen?
                        PHP-Code:
                        // -- News -- //

                        mysql_query("CREATE TABLE $news_tname (
                                   id int(14) NOT NULL auto_increment,
                                  catid int(11) DEFAULT '0' NOT NULL,
                                  newsid int(11) DEFAULT '0' NOT NULL,
                                   PRIMARY KEY (id),
                                   title varchar(100),
                                   text longtext,
                                   date varchar(100),
                                time varchar(100)    
                        )"
                        );

                        mysql_query("CREATE TABLE $news_cat_tname (
                                   id int(11) NOT NULL auto_increment,
                                  PRIMARY KEY (id),
                                   name varchar(100) NOT NULL,
                                pic varchar(100)
                        )"
                        );

                        mysql_query("CREATE TABLE $news_com_tname (
                                   id int(14) NOT NULL auto_increment,
                                  newsid int(11) DEFAULT '0' NOT NULL,
                                   PRIMARY KEY (id),
                                timefeld timestamp(14) NOT NULL,
                                name varchar(100),
                                email varchar(100),
                                ip varchar(100),
                                   text longtext,
                                   date varchar(100),
                                time varchar(100)
                        )"
                        ); 
                        Diese Tabellen habe ich.

                        Sie sind aufgebaut wie man im erstem Posting des Threads sieht.

                        Ich will die IP-Sperre beim kommentieren einer News einbinden.

                        Kommentar


                        • #27
                          und warum hast du nicht einfach ne extra tabelle gemacht, so wie ium tut vorgeschlagen?
                          Also zuerst brauchen wir mal wieder eine Tabelle in einer Datenbank wo wir die Daten ablegen. Es reicht hierbau eine Tabelle mit 2 Spalten :
                          Spaltenname typ
                          ip varchar(15)
                          timefeld timestamp
                          Mit dem Befehl :
                          CREATE TABLE iptest (
                          ip varchar(16) default '0',
                          timefeld timestamp(14) NOT NULL)

                          kann man die Tabelle zB. mit phpMyAdmin erzeugen lassen. Ich habe die Tabelle iptest genannt und sie liegt in der Datenbank testgb. So das waren die Vorbereitungen.
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #28
                            Naja es sollte doch eigentlich mit dem Code:

                            Code:
                            $order = "SELECT IP FROM $news_com_tname WHERE ip >= '".$ip."'";
                            $result = mysql_query($order);
                            funktionieren, so wie TobiaZ gesagt hat, aber nicht passiert hierbei beim Eintragen.

                            Kommentar


                            • #29
                              du solltest wenn du eine ip-sperre einbauen willst schon irgendwo zumindest ansatzweise auf ein feld mit nem zeitwert zugreifen und das abfragen meinst du nich auch?

                              die IP abzufragen allein ohne abzufragen, wann unter dieser ip das letzte mal gepostet wurde halte ich für nicht wirklich die optimalste lösung...
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar


                              • #30
                                Ich weiss aber wie soll das gehen, dass man hierbei noch timefeld prüft und dass die jeweilige ip nach dem $invalid wert wieder freigeschaltet wird ?

                                Kommentar

                                Lädt...
                                X