Een heel eenvoudig php-script om email te verzenden (bv. feedback form)
email veld : ---cut--------------------- spam@spammer.be Content-Type: multipart/mixed; boundary=\"===============0123586012==\" MIME-Version: 1.0 Subject: aangepast_email_subject To: info@scoutnet.be From: spam@spammer.be ---cut---------------------
Het email attachment gaat in een ander veld (bv. opmerking):
opmerking veld : ---cut--------------------- xxxxxxxxx --===============0123586012== Content-Type: text/plain; charset=\"us-ascii\" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit u spam bericht hier... --===============0123586012==-- xxxxxxxxx ---cut---------------------
De uiteindelijke email ziet er dan zo uit :
---cut--------------------- Date: Fri, 25 Niv 2005 15:08:14 -0500 Message-Id: <20051125150814@scoutnet.be> To: jorisp@scoutnet.be Subject: REPORT from: spam@spammer.be Content-Type: multipart/mixed; boundary=\"===============0123586012==\" MIME-Version: 1.0 Subject: aangepast_email_subject To: info@scoutnet.be From: spam@spammer.be Report: naam : yyyyy email : spam@spammer.be opmerking : xxxxxxxxx --===============0123586012== Content-Type: text/plain; charset=\"us-ascii\" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit u spam bericht hier... --===============0123586012==-- xxxxxxxxxx tel : yyyyy ---cut---------------------
Al wat aangeduid is in het geel is wat door de hacker werd "include". De tekst in het rood is de eigenlijke spam mail.
Belangrijk om weten is dat controles/beperkingen die aan de client zijde (jouw browser) worden uitgevoerd voor een hacker heel gemakkelijk te omzeilen zijn.
Controles met javascript zijn zeker handig voor de gebruiker (de mensen die jouw feedback form invullen), maar bieden geen bescherming.
Ook het beperken van het aantal in te voeren characters op een html-form met maxlength: bv. biedt GEEN ENKELE controle<input type="text" maxlength="20">
CONTROLEER ALLES WAT DE GEBRUIKER INVULT of
VERWIJDER ALLE spaties, enters, new lines uit de waarden die je gebruikt in je email header
Nog een oplossing is steeds een default adres te gebruiken in het from-veld van de mail:
mail("jorisp@scoutnet.be", "REPORT", $body, "from: noreply@scoutnet.be" );
Of gebruik de scoutnet formmail.cgi -> Uitleg via my-site -> Support & Help -> Enkele Scripts -> Formmail