Hi,
Voor een klant moest ik een oplossing zoeken vanwege automatische spambots die zijn mail plat gooide met meer dan 500 mails per dag.
Hiervoor hadden we een captcha in gedachte maar dat bleek niet helemaal effectief te werken, nu schoot me iets binnen, iets heel kleins maar het werkt enorm goed!
Uiteraard werkt de captcha nog wel voor de form spammers die het handmatig uitvoeren, captcha is dus niet een overbodige luxe.
HTML Code:
Display All
Zoals je kan zien heb ik voor de li "user" een ID gegeven, deze ID heeft een CSS element display:none; hierdoor is dat gedeelte niet zichtbaar.
Een spambot pakt normaal gesproken alles tussen de <form> en </form> welke dan alle velden uitvoert, hierdoor kan de spambot alles random invoeren.
Een gebruiker ziet het veld niet, dus met alle verwachtingen wordt dat veld door een gebruiker niet ingevoerd, dit betekend dat de bot niet ziet welke wel echt is en welke niet.
Display All
Wanneer de "username" field uitgevoerd wordt kan je er 100% vanuit gaan dat het om een spambot gaat, en dus kan je zijn actie voortijdig afbreken.
Hierbij wordt de spammer dus eruit gehaald, mijn klant heeft momenteel 0,00 spam berichten ontvangen, het werkt dus echt!
Let wel op dat een captcha wel slim blijft om te gebruiken, je hebt nog altijd bezoekers die F5 kunnen rammen na het invoeren van een form, de captcha reset alles weer waardoor hij continu de captcha moet invoeren.
Hou er wel rekening mee dat dit alleen met de grote spambots werkt, de kleine spambots die op jou form gemaakt worden zullen het veld negeren en werkt het voor als nog niet.
Maar ik vond dit wel een hele simpele oplossing en wilde deze graag met jullie delen zodat ook jullie een simpele maar effectieve manier hebben om spambots te blokkeren.
Voor een klant moest ik een oplossing zoeken vanwege automatische spambots die zijn mail plat gooide met meer dan 500 mails per dag.
Hiervoor hadden we een captcha in gedachte maar dat bleek niet helemaal effectief te werken, nu schoot me iets binnen, iets heel kleins maar het werkt enorm goed!
Uiteraard werkt de captcha nog wel voor de form spammers die het handmatig uitvoeren, captcha is dus niet een overbodige luxe.
HTML Code:
Source Code
- <form method="post" action="send.php">
- <ol>
- <li>
- <label for="name">Name</label>
- <input type="text" name="name" value="">
- </li>
- <li>
- <label for="email">Email</label>
- <input type="text" name="email">
- </li>
- <li id="user">
- <label for="username">Username</label>
- <input type="text" name="username">
- </li>
- <li>
- <input type="submit" name="submit" value="Send It!">
- </li>
- </ol>
- </form>
Zoals je kan zien heb ik voor de li "user" een ID gegeven, deze ID heeft een CSS element display:none; hierdoor is dat gedeelte niet zichtbaar.
Een spambot pakt normaal gesproken alles tussen de <form> en </form> welke dan alle velden uitvoert, hierdoor kan de spambot alles random invoeren.
Een gebruiker ziet het veld niet, dus met alle verwachtingen wordt dat veld door een gebruiker niet ingevoerd, dit betekend dat de bot niet ziet welke wel echt is en welke niet.
PHP Source Code
- if( !isset($_POST['name'])) { die("No Direct Access"); } // Make sure the form has actually been submitted
- $name = $_POST['name'];
- $email = $_POST['email'];
- $spam = $_POST['username']; // This is our hidden field
- if($spam) {
- die("No spamming allowed bitch!");
- } else {
- // Process the form like normal
- }
Wanneer de "username" field uitgevoerd wordt kan je er 100% vanuit gaan dat het om een spambot gaat, en dus kan je zijn actie voortijdig afbreken.
Hierbij wordt de spammer dus eruit gehaald, mijn klant heeft momenteel 0,00 spam berichten ontvangen, het werkt dus echt!
Let wel op dat een captcha wel slim blijft om te gebruiken, je hebt nog altijd bezoekers die F5 kunnen rammen na het invoeren van een form, de captcha reset alles weer waardoor hij continu de captcha moet invoeren.
Hou er wel rekening mee dat dit alleen met de grote spambots werkt, de kleine spambots die op jou form gemaakt worden zullen het veld negeren en werkt het voor als nog niet.
Maar ik vond dit wel een hele simpele oplossing en wilde deze graag met jullie delen zodat ook jullie een simpele maar effectieve manier hebben om spambots te blokkeren.
1,575 times read
WHMCSAddons -
@Jeroen.G

Hoe bedoel je precies met SEO statistieken, het veld dient gewoon niet ingevuld te zijn.
@Kevinkrs
Daarom had ik erbij geplaatst dat het voor een op maat gemaakt form niet zal werken, de grotere spambots kijken voornamelijk tussen de <form> en </form> elementen die zien dit trucje dus niet