Beveiligen formulier tegen Spammers

Websites waarvan de contactformulieren misbruikt worden controleren niet goed op de door de bezoeker (=spammer) ingevoerde gegevens. Daardoor kunnen spammers ongemerkt grote hoeveelheden e-mailadressen invoeren bij de Cc en Bcc velden.

Voorbeeld:
In plaats van:
naam@provider.nl

vult de spammer in:
naam@provider.nl%0ACc:spam@ontvanger.nl%0ABcc:spam@ontvanger2.nl,spam@ontvanger3.nl

Een spammer kan op deze manier honderden e-mailadressen aan het Bcc: veld toevoegen en zo zijn eigen bericht anoniem verspreiden.

De oplossing?
Zorg dat er geen extra headers toegevoegd kunnen worden. Dit kan bijvoorbeeld door het toevoegen van onderstaand stukje code:

 <?php
   $from = $_POST["sender"];
   $from = urldecode($from);
   if (eregi("(r|n)", $from)) {
     die("Why ?? :(");
   }
 ?>

Let op:  backslash r | backslash n bij eregi functie.

Wanneer het veld Sender 'line feeds' of 'carriage returns' bevat, wordt het script gestopt. Zorg er wel voor dat dit stukje code boven de aanroep van de mail() functie staat.

Was dit antwoord nuttig?

 Print dit artikel

Lees ook

PHP instellingen aanpassen

Dit kun je doen in de/conf directory van het domein (dus /srv/www/vhosts/domeinnaam.nl/conf)Dan...

Het gebruik van variabele

Om de waarde van variabele over te dragen van het ene script naar het andere script dient u in...

open Basedir restricties

De Open BaseDir restrictions zijn ingesteld om de bestandsbeveiliging van de server en de...

Formulieren verwerken

Hieronder een simpel script dat de resultaten van de formulieren verzamelt en afdrukt in een...