Servicedesk login
preload preload preload preload preload preload preload
U bevindt zich hier: Helpdesk > Spam via een contactformulier

Spam via een contactformulier

Veel websites bieden de mogelijkheid een berichtje achter te laten middels een e-mail contactformulier. Vaak zijn deze formulieren echter zo gebouwd dat spammers ze kunnen misbuiken.

Hoe kan een contactformulier misbruikt worden?

Een contactformulier kan misbruikt worden als er GET of POST variabelen worden overgenomen in de headers van de verstuurde e-mail. Veel contactformulieren vragen bijvoorbeeld om een naam en een e-mailadres. Deze gegevens worden vervolgens in de afzender header (From:) van de e-mail geplaatst. Ook wordt vaak om een onderwerp gevraagd, welke in de onderwerp header (Subject:) van de e-mail wordt geplaatst. Zonder voorzorgsmaatregelen kunnen spammers via dit mechanisme de verkeerde informatie in de headers van de e-mail krijgen. De meest gebruikte methode is het toevoegen van een bcc: header met daarin honderden e-mailadressen waar ze hun reclameboodschap heen willen sturen. Ze geven dan bijvoorbeeld als onderwerp dit op:

Buy viagra now...
bcc: abcdefg@aol.com,hijklmn@yahoo.com,etc

Zonder voorzorgsmaatrelen wordt dit in de e-mail:

Subject: Buy viagra now...
bcc:
abcdefg@aol.com,hijklmn@yahoo.com,etc

U ziet, door een newline karakter mee te geven in het onderwerp kan een spammer zomaar een extra header toevoegen. De spammer hoeft als bericht alleen nog maar zijn reclameboodschap in te vullen, en alle geadresseerden in het toegevoegde bcc-veld zullen deze ontvangen.

Hoe kan ik mijn contactformulier beveiligen?

Contactformulieren zijn er in alle soorten en maten, evenals de scripts die er voor zorgen dat een ingevuld contactformulier als e-mail wordt verstuurd. Daarom kunnen we hier alleen een algemene oplossing geven. Als u PHP gebruikt voor het versturen van de e-mail kunt u alle GET en POST waarden die in de header van de e-mail terecht zullen komen één voor één controleren met onderstaande functie. De functie geeft de waarde 'false' terug indien er verdachte codes in staan. In dat geval dient de e-mail niet verstuurd te worden.


function CheckEmailHeaders($get_or_post_value)
{  
  //email headers may not contain these strings  $malicious_codes = array("\r", "\n", "%0a", "%0d", "Content-Type:", "bcc:","to:","cc:");  
  foreach($malicious_codes as $malicious_code)
  {    
   if (preg_match('/'.$malicious_code .'/i', $value))    
   return false;  
  }  
  return true;
}

 

Capcha

Een andere methode om spam via formulieren tegen te gaan is doormiddel van de zogenaamde Capcha. Dit is een code, of vraag waar de bezoeker van de site antworod op moet geven. Automatische robots die formulieren misbruiken kunnen dit niet beantwoorden en zijn dus niet in staat om het formulier te versturen. Onze afdeling Netexpo projecten kan uw formulieren op allerlei manieren voor u beveiligen. Neem vrijblijvend contact op met Netexpo Projecten als u hier meer informatie over wenst te ontvangen.

 

Design & Development Netexpo Internet