Erklärung wie das spam vermeiden durch hidden feld geht

Ein normales formular ohne capacha und hidden feld,so wie ein Mensch es sehen tut wen er eine Seite betretten tut

Kontakt

Klicken wir mal auf senden und sehen was passiert

Der Spam Bot sieht das

Die Bots sind so Programmiert das die nach input Feldern suchen die den namen ( name,email,betreff,nachricht,versenden,absenden,tel usw...) haben
In diesen Formular finde er

  • name
  • email
  • betreff
  • Nachricht
  • Für den Bot ist es wichtig das email Feld zu finden
    Wenn er das hat füllt er die Felder aus und sendet sie ab

    Somit hast du jetzt Spam erhalten

    Jetzt die hidden Lösung

    Da der Bot kein Mensch ist und nur Felder ausfüllen tut die er kennt,geben wir das Emailfeld einen anderen Namen
    <input type="text" name="bots_stinken_nach_secheisse" value="">

    und ein hidden Feld mit den namen Email ( danach suchen die Bots ja)

    <input type="text" name="email" value="">

    Ein Mensch sieht immer noch das Formular unverändert, aber der Bot sieht das

    diesmal findet er immer noch die gleichen Felder,aber das das Feld mit den neuen Namern ( 'bots_stinken_nach_secheisse') kennt er nicht und füllt es auch nicht aus.Deine Besucher sehen ja das normale Foprmular,den ist es egal wie die Felder heissen.

    Dann haben wir aber noch das hidden Feld mit den namen "email". Der Bot weiß ja nicht das wir die Email mit den feld "bots_stinken_nach_secheisse" abfragen und füllt das hiddenfeld aus was ja email heisst.

    Dieses Feld können nur Bots auslesen und kein normaler User, und somit erkennen wir Bots

    Das wird jetzt gesendet

    Im Php Code Fragen wir einfach ab ob das hidden Feld ausgefüllt wurde

    
    <?php 
    $spam1=false;
    $spam2=false;
    
    //jetzt echtes email feld
    if(empty($_post['bots_stinken_nach_secheisse'])){
       $psam1=true;
    }
    
    // falsches email hidden Feld
    if(!empty($_post['email'])){
       $psam2=true;
    }
    
    $($spam1==true or $pam2==true){
         die(" Ich bin ein Spam"):
         exit;
    }else{
         echo Kein Spam , Email kann verschickt werden ";
    }
    ?>