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)
1
2
3
2
3
<?
mail(string $to, string $subject, $string message [, string $additional_headers [, string $additional_parameters]])
?>
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:
Dit resulteert bijvoorbeeld in:
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)
1
2
3
2
3
<?
$header = "From: \"Zijn Naam\" <[email protected]>[enter]Bcc: \"Haar Naam\" <[email protected]>,\"Mijn Naam\" <[email protected]>";
?>
$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.
« vorige pagina | volgende pagina »
Inhoudsopgave
- Waarom deze tutorial?
- Input controle (hoe moet het niet)
- Waar gaat het mis?
- Input controle (hoe moet het wel)
- Hoe kun je dit voorkomen?