Op Tue, 05 Oct 2004 23:28:20 +0200, schreef Arjen Haayman:
> nmp wrote:
>>>Tenzij anders vermeld in de handleiding, zou ik er nooit vanuit gaan
>>>dat een PHP-functie 'veilig' is. In dit geval zou ik dus zeker de
>>>$_REQUEST-waarden controleren.
>>
>>
>> Inderdaad, in dit geval zeker omdat het requestwaarden zijn, maar als je
>> die maar controleert dan lijkt me de aanroep van de functie beslist wel
>> veilig.
> Welke controles zal ik uitvoeren?
> Het veiligst is om alleen een set toegestane karakters door te laten,
> maar welke set zou dat dan moeten zijn?
Alle ASCII tekens met een waarde van 32 (spatie) of hoger kun je gerust
accepteren in headervelden.
> Weet iemand hoe je mail() kunt misbruiken? (de server gebruikt sendmail).
>
> function send_mail()
> {
> global $naam, $onderwerp, $email, $bericht;
> mail( "ik@mijndomein.nl", #<--- geen exploit mogelijk??
> "[vraag] $onderwerp", #<--- idem?
> $bericht, #<--- idem?
> "From: $naam <$email>\n"); /* <---- Mogelijk dat hier extra
> headers aan toegevoegd kunnen worden? Hoe te voorkomen? */
Voor headergegevens (zoals onderwerp, geadresseerde, afzender) evt. een
max. lengte hanteren. 100 zal meestal wel werken, evt. bufferproblemen
treden meestal pas op bij meerdere honderden karakters. Sowieso strippen
van ongewenste karakters (ASCII beneden 32). Maar zaken zoals line feed,
carriage return, tab laat je natuurlijk wel staan in je $bericht.
E-mailadressen checken op geldigheid en evt. zelfs via SMTP checken of ze
werkelijk bestaan (daar zijn routines voor, heb ik nu niet bij de hand).
Verder vraag ik me af waarom je het from: adres uit een request zou moeten
lezen. Voordat iemand een mailtje mag sturen is-ie toch al
ingelogd/aangemeld neem ik aan? Dan kun je dat adres uit zijn
accountgegevens halen.
Maar ja, ik weet ook niet wat voor toepassing je eigenlijk bouwt.

Likes:
![[PHP] mail functie veilig?](https://www.webhostingtalk.nl/images/WHT_rd/misc/dT.png)
Quote
an.2004.10.05.22.23.16.579088@mail.please: