JavaSrcipt- Formulareintrag mit festgelegtem Inhalt

  • Moin!
    Ich versuche gerade ein Anti-Spam Formular zu erstellen für mein Gästebuch.
    Hierfür habe ich ein unsichtbare textarea mit festgelegtem und vorgegebenen Inhalt in das Formular eingebaut, da dieses Textfeld später bei der E-Mail als Betreff angezeigt wird.

    HTML
    <textarea name="betreff" style="display:none" Readonly style="width: 154px; height: 20px">Gästebuch Jugendkompanie Handorf-Langenberg</textarea>


    Den Inhalt hab ich wie folgt festgelegt:

    Code
    else if (document.Formular.betreff.value.length < 40 || document.Formular.betreff.value.indexOf ('Jugendkompanie',0) == -1 || document.Formular.betreff.value.indexOf ('Handorf-Langenberg',0) == -1) { 
      alert("Bitte geben Sie einen Betreff ein!")
      return false;
     }


    Wenn ich dieses Formular teste ( indem ich den Text der textarea verändere oder gar keinen Text einfüge) funktioniert es genauso wie ich will, d.h. der Eintrag wird nicht gesendet.
    Aber komischerweise können die Spamer den Eintrag absenden ohne auch nur ein einziges Wort in die textarea einzutragen. Irgendwie wurde der readonly-Befehl im Formular, die indexof und die length Bedingungen umgangen.
    Im Prinzip ist das ja unmöglich deswegen hoffe ich, dass mir einer von euch bei diesem Problem weiterhelfen kann, da ich schon fast am verzweifeln bin und ich es satt habe mindestens 40 Spameinträge pro Tag auszusortieren.

    Glück auf!

  • Soetwas per JavaScript zu blocken ist verhältnismäßig großer Blödsinn. JavaScript abschalten und schon geht's. Wichtiger ist das Script, dass die Daten verarbeitet.

  • Du kannst mit PHP nicht eingegebene Felder prüfen, ein Captcha einbauen und bei Fehlern darauf entsprechend reagieren. Stichwort Affenformular