Ankündigung

Einklappen
Keine Ankündigung bisher.

datum +24stunden

Einklappen

Neue Werbung 2019

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

  • datum +24stunden

    huhu leute
    ich möchte das man innerhalb von 24stunden nur eine mail schreiben kann ich trage in die datenbank das datum und die ip ein so nun frage ich ab ob die ip die die mail verschicken will schon in der datenbank ist wenn ja dann soll er überprüfen ob das datum vom letzten eintrag den diese ip geliefert hat 24 stunden her ist.

    SpAm schutz lol

    ist das so sinnvoll?? wenn ja wie rechne ich mit datums??


  • #2
    Code:
    $ip=$_SERVER['REMOTE_ADDR'];
    $now=time();
    $SQL="SELECT * FROM tabelle WHERE ip=$ip AND datum>$now-86400";
    $result=mysql_query($SQL);
    $check=mysql_num_rows($result);
    if($check!=0){
    echo "sie können nur jede 24 stunden eine mail schicken";
    } else {
    ....anweisungen zum mail verschicken....
    }
    so ließe sich das realisieren aber esist nicht sinnvoll mit ip's zu arbeiten denn die meisten haben innerhalb von 24 stunden mehrere ip's

    Kommentar


    • #3
      Dein SQL Query ist falsch !

      Es muss heißen:
      Code:
      ... ip='$ip' ...
      Erstens weil du Punkte in der IP hast und zweitens weil es einfach sicherer ist
      Fals du doch mal keine Integer Werte hast.
      In sofern du dier sicher bist, dass es ein Int Wert ist, dann setz trotzdem Hochklammern drum

      Kommentar


      • #4
        mag sein dass du recht hast aber ehrlich gesagt mach ich das schon immer ohne hochkomma bei den WHERE vergleichen, auch bei strings
        wobei ich z.b. bei update oder insert immer hochkommas setze:
        Code:
        UPDATE tabelle SET feld='$inhalt';
        INSERT INTO tabelle (feld) VALUES ('$inhalt')
        aber bei WHERE bedingungen hab ich mir angewöhnt das nicht zu machen und es funzt trotzdem :wink:

        Kommentar


        • #5
          Bei der neuesten MySQL V geht das eigentlich net mehr

          Kommentar


          • #6
            Zitat von Dragic
            Bei der neuesten MySQL V geht das eigentlich net mehr
            hmm dann hab ich wohl net die neuste
            naja werd mir dann mal angewöhnen das in hochkommas zu schreiben...
            aber bei integers ist das doch wohl hoffentlich egal oder?
            z.b. wenn ich im link ne id übergebe

            Kommentar


            • #7
              Wenn der User jetzt aber oben in der Adressleiste einen Buchstaben eingibt kommt nen Fehler

              Kommentar


              • #8
                dann ist der user auch selbst dran schuld
                aber da kann man ja ne automatik einbauen dass dann ne meldung kommt dass der user es doch bitte unterlassen sollte da en buchsstabe einzugeben :wink:

                Kommentar


                • #9
                  zum ausgangsproblem.

                  das kannst du eigentlich nur mit einem cookie realisieren .. allerdings ist diese kontrolle ja auch clientseitig deaktivierbar ..

                  ansonsten ein alibi-schutz ... vergleiche die email-adressen der absender
                  ist aber mehr ein witz als eine sichere kontrolle ..
                  privater Blog

                  Kommentar


                  • #10
                    juhuuu

                    Ich bün immer noch fürs Auslesen der Windows Registrierungsnummer

                    Kommentar


                    • #11
                      Zitat von Dragic
                      Ich bün immer noch fürs Auslesen der Windows Registrierungsnummer
                      oh .. da würden sich dann aber einige wundern ..
                      privater Blog

                      Kommentar


                      • #12
                        Zitat von Ben
                        das kannst du eigentlich nur mit einem cookie realisieren
                        das seh ich nicht so..
                        da ist die lösung mit der ip eigentlich noch sicherer
                        mal ne frage@sunny: muss der user sich einloggen bevor er die mail verschicken kann denn dann könnte man einfach ein feld in der tabelle user einrichten dass z.b. last_mail heißt und indem steht wann der user zuletzt eine mail verschickt hat und dann prüfen ob time der wert in diesem feld größer ist als time()-86400 wie ich oben schon geposted hab

                        Kommentar


                        • #13
                          würde funzen :wink:

                          Kommentar

                          Lädt...
                          X