Notice: Undefined variable: root in /users/basti1012/www/index1.php on line 41
Erklärung wie das Spam vermeiden durch hidden Feld geht

Erklärung wie das Spam vermeiden durch hidden Feld geht

Erklärung Was sieht de Mensch und was sieht ein Bot bei einem hidden Feld im E-Mail Formular

Der hier verwendete Code

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <style> #formbox,h2{ width:60vw; display:flex; flex-direction:column; text-align:center; justify-content:center; border:1px solid black; margin:20px auto; } #formbox *{ width:80%; text-align:left; padding:5px 0 0 10px; margin-left:10%; } code{ color:red; } </style> <h1>Erklärung wie das spam vermeiden durch hidden feld geht</h1> <div id="level1"> <p>Ein normales formular ohne capacha und hidden feld,so wie ein Mensch es sehen tut wen er eine Seite betretten tut</p> <h2>Kontakt</h2> <div id="formbox"> <label>Name</label> <input type="text" id="name" name="name" value="basti1012"> <label>Email</label> <input type="text" id="email1" name="email" value="basti1012@soforthilfe-forum.de"> <label>Betreff</label> <input type="text" id="betreff" name="betreff" value="Test eintrag"> <label>Nachricht</label> <textarea id="nachricht" name="bettref">irgendein text zum testen</textarea> <input type="button" id="absenden" value="absenden"> </div> <p> Klicken wir mal auf senden und sehen was passiert</p> <div id="out1"></div> <h4>Der Spam Bot sieht das</h4> <code id="out2"></code> <p> Die Bots sind so Programmiert das die nach input Feldern suchen die den namen ( name,email,betreff,nachricht,versenden,absenden,tel usw...) haben<br> In diesen Formular finde er <li>name</li> <li>email</li> <li>betreff</li> <li>Nachricht</li> <p>Für den Bot ist es wichtig das email Feld zu finden <br>Wenn er das hat füllt er die Felder aus und sendet sie ab</p> <h3>Somit hast du jetzt Spam erhalten</h3> </div> <div id="level2"> <h2>Jetzt die hidden Lösung</h2> <p>Da der Bot kein Mensch ist und nur Felder ausfüllen tut die er kennt,geben wir das Emailfeld einen anderen Namen <br> <code>&lt;input type="text" name="bots_stinken_nach_secheisse" value=""></code> <p>und ein hidden Feld mit den namen Email ( danach suchen die Bots ja)</p> <code>&lt;input type="text" name="email" value=""&gt;</code> <button id="neuername">Bitte klicken um felder einzubauen </button> <p>Ein Mensch sieht immer noch das Formular unverändert, aber der Bot sieht das</p> <code id="out3"></code> <p>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.</p> <p>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.</p> <p>Dieses Feld können nur Bots auslesen und kein normaler User, und somit erkennen wir Bots</p> <button id="senden2">Klicke weiter</button> <p>Das wird jetzt gesendet</p> <div id="out4"></div> <p> Im Php Code Fragen wir einfach ab ob das hidden Feld ausgefüllt wurde</p> </div> <pre><code> &lt;?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 "; } ?> </code></pre> <script> $('#absenden').click(function(){ nam=$('#name').val(); ema=$('#email1').val(); bet=$('#betreff').val(); sms=$('#nachricht').val(); $('#out1').html('Das wird gesendet<br>Name = '+nam+'<br>Email = '+ema+'<br>Betreff = '+bet+'<br>Nachricht = '+sms); }) var $obj = $('#formbox'); $('#out2').text($obj[0].outerHTML); $('#neuername').click(function(){ $obj.append('<input type="hidden" id="email" name="email" value="ich bin ein bot und habe das feld ausgefüllt">'); $('#out3').text($obj[0].outerHTML); $('#email').attr('name','bots_stinken_nach_secheisse'); }); function aa(){ return $('#email').val(); } $('#senden2').click(function(){ nam=$('#name').val(); ema=$('#email1').val(); bet=$('#betreff').val(); sms=$('#nachricht').val(); spam=aa(); $('#out4').html('Das wird gesendet<br>Name = '+nam+'<br>Email = '+ema+'<br>Betreff = '+bet+'<br>Nachricht = '+sms+'<br> und das hidden Feld = '+spam) }) </script> </div> </div>