Waar gaat het mis?

Bij het verzenden van een email kun je 'headers' opgeven voor het bericht. Binnen deze headers geef je o.a. de afzender op. Wat je hier echter ook kunt opgeven zijn de opties 'cc' en 'bcc'.

De standaard mail functie van php ziet er als volgt uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
mail(string $to, string $subject, $string message [, string $additional_headers [, string $additional_parameters]])
?>


Stel dat je de afzender wilt opnemen in de header, dan kun je de header hiervoor bijvoorbeeld als volgt instellen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$header
= "From: \"" . $_POST["name"] . "\" <" . $_POST["email"] . ">";
?>


Dit resulteert bijvoorbeeld in:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$header
= "From: \"Mijn Naam\" <[email protected]>";
?>


Wat gebeurt er als de 'spammer' in plaats van netjes zijn naam, de volgende regel invult in het textfield 'name':
"Zijn Naam\" <[email protected]>[enter]Bcc: \"Haar Naam\" <[email protected]>, Mijn Naam"

Je raad het vast al; er worden extra headers toegevoegd. Het resulteert in:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$header
= "From: \"Zijn Naam\" <[email protected]>[enter]Bcc: \"Haar Naam\" <[email protected]>,\"Mijn Naam\" <[email protected]>";
?>


Gevolg is dat er in plaats van 1 email er nu 3 worden verzonden.. En het spammen is begonnen. Spammers doen het echter niet met 3, maar met honderden extra adressen tegelijk.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Waarom deze tutorial?
  2. Input controle (hoe moet het niet)
  3. Waar gaat het mis?
  4. Input controle (hoe moet het wel)
  5. Hoe kun je dit voorkomen?

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.