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
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 ";
}
?>