Spam voorkomen op een contactformulier


Publicatie datum:

Een informatief artikel over hoe je op een gemakkelijke manier een contactformulier kan beveiligen tegen spambots.

Gesponsorde koppelingen

Dit artikel is voornamelijk bedoeld voor programmeurs en beschrijft een aantal manieren om een contactformulier te beveiligen tegen spam. Ook kan het leerzaam zijn voor de niet-programmeur natuurlijk!

Gesponsorde koppelingen

Oke, we hebben in dit voorbeeld een contactformulier met 3 velden. 

  • Naam
  • E-mail
  • Bericht
We willen natuurlijk niet dat bots een nieuw formulier vinden om vol te spammen en daarom gaan we een aantal manieren bij langs die kunnen detecteren of we te maken hebben met een bot.

E-mail adres controleren

Een van de manieren om te controleren of we te maken hebben met een spambot is het email adres controleren. 'blablabla12345' is bijvoorbeeld geen geldig e-mail adres! In bijna alle talen is het mogelijk om te controleren of het email adres aan de juiste eisen voldoet.

In PHP gaat dat bijvoorbeeld als volgt:

$email "informatie@uwdomeinnaam.nl"

if(
eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"$email)) { 
  echo 
"Het email adres is geldig."

else { 
  echo 
"Het email adres is ongeldig."
}

In principe controleer het script hier of het email adres goed is opgebouwd. Het script controleert niet of het email adres daadwerkelijk in gebruik is.

Verborgen bericht

Een andere manier om spam tegen te gaan is door een verborgen veld in het formulier te plaatsen met de naam "message". Het daadwerkelijke bericht van de gebruiker noem je dan bijvoorbeeld "bericht".

Je kan nagaan dat als het veld "message" een waarde bevat, dat we niet te maken hebben met een standaard pageview. Voor de veiligheid kan je dus elk verzoek negeren als dat verborgen veld een waarde heeft.

Checkbox & Captcha

Een checkbox (vinkje) waarin je de gebruiker verplicht in te stemmen met de Algemene Voorwaarden is in sommige gevallen genoeg, in de andere gevallen kan je ook kiezen voor een CAPTCHA.

Een CAPTCHA is op verscheidene websites te vinden, de gebruiker wordt verzocht om een reeks letters of getallen in te vullen die in een afbeelding staan afgebeeld. Een computer is niet vaak in staat om een afbeelding te herkennen, vooral niet als de letters zijn gemanipuleerd of bestaan uit verschillende of vreemde lettertypen.

Een CAPTCHA wordt door heel veel bezoekers als uiterst irritant ervaren.

Tijdsinterval (!)

Een goede manier om een formulier te controleren op bots is door een hidden field aan te maken met daarin het exacte tijdstip waarop de gebruiker de pagina laadt. Als het bericht vervolgens verzonden wordt dan kan je het verschil tussen de twee momenten nagaan.

Je kan dan stellen dat als een gebruiker er minder dan 3.00 seconden over doet om het formulier in te vullen, we te maken hebben met een spambot of met iemand die het contactformulier op zijn eigen manier 'uitprobeert'.

3 seconden is de perfecte tijd om op te controleren. Een bot met een vertraging vanwege langzaam internet is in minder dan 3 seconden doorverwezen en niemand typt een naam, email adres en uitgebreide vraag in 3 seconden.

Tot slot

Ik hoop dat iemand dit artikel als nuttig heeft ervaren, een contactformulier dat voldoet aan de bovenstaande dingen is volledig beschermd tegen spam.


Foobie gebruiker Observer

Auteursinformatie


Geschreven artikelen: 9
Leden aangebracht: 0

Meer uit de categorie computers

Wat is reseller webhosting?

Wil je een eigen hostingbedrijf beginnen of wil jij gewoon al jouw domeinen op een centrale plaats hebben, dan is het reseller pakket iets voor jouw. Dit pakket geeft een mooie kans voor mensen die een eigen hosting bedrijf willen beginnen.

Online veiligheid

Ik heb opgezocht wat mensen eigenlijk met je informatie kunnen die op internet staat opgeslagen. Van onschuldige informatie zoals foto's van jou met je vrienden en je hobbies, tot de gegevens van jou die online staan wanneer je doet aan online bankieren.

Computerberekeningen: 1 en 0, het binaire getallenstelsel

De computer gebruikt 1 en 0, hoe kunnen wij deze 'getallen' normaal lezen?

Fractals

Het wiskundige figuur 'fractal' en de toepassingen

Dit wilt u niet op uw computer hebben!

Wormen, cookies, spyware, malware, keylogger, trojan horses en virussen overal zitten ze in verstopt en waarschijnlijk heeft u ze al op uw computer. Wat zijn het eigenlijk en wat doen ze, maar het belangrijkste hoe kom je ervan af?