2010-12-03 7 views
0

Was ist eine Methode, um PHP POST-Daten für die Übergabe an eine Mail-Funktion zu bereinigen? (Ich bevorzuge eine Methode, die nicht Teil der mysql_function() Familie von Funktionen ist.)PHP Eingabe Desinfektionsfunktion?

Ich nehme die Daten, sanitize es, drucken Sie es zurück zum Benutzer und senden Sie es in einer E-Mail an eine voreingestellte Adresse.

EDIT: Ich bin nur die E-Mail an unsere E-Mail-Adresse schicken, damit wir ein Mailing an die Adresse in der E-Mail versenden können.

+1

Das auf, was die Mail-Funktion mit den Daten tut. – cdhowie

+0

@IshKumar, Nicht ein Betrogener, ich möchte keine Bibliothek verwenden. – Moshe

+0

@cdhowie - Ich möchte die E-Mail an eine Adresse senden! Das ist alles. – Moshe

Antwort

0

Da Sie es zurück zum Benutzer drucken, müssen Sie jeden HTML-Inhalt entkommen lassen.

strip_tags() und html_special_chars() sind sehr nützlich, um den Nachrichteninhalt in Filtern, vor allem, wenn Sie HTML-Nachrichten verwenden.

Siehe auch:
How to sanitze user input in PHP before mailing?
, die ein & auf Zeilenumbrüche ersetzen tun Nennungen finden, die Inhalte in die Mail-Header injizieren lassen könnte.
Da Sie eine voreingestellte E-Mail-Adresse verwenden, ist das Risiko reduziert, aber das Betrefffeld ist immer noch anfällig.

+0

Es gibt keinen guten Grund, HTML in einer E-Mail zu entgehen. Vor allem, wenn es sich um eine Klartext-E-Mail handelt. – ThiefMaster

+0

@ThiefMaster, Aber was ist mit Desinfektion für den Umgang mit den Daten, bevor ich die E-Mail sende? – Moshe

+0

Natürlich, aber wir wissen nicht, was er mit der E-Mail macht. Es ist eine gute Taktik, alle Grundlagen abzudecken, auch wenn Sie am Anfang nur Text-E-Mails erwarten. – dig412

0

Die Bereinigung für eine E-Mail entspricht der Bereinigung der HTML-Ausgabe. Ich sehe einige Vorschläge für SO für HTML Purifier.

+0

Warum würden Sie HTML in einer Klartext-E-Mail umgehen? Ich denke, er möchte sich vor einer Header-Injektion schützen. – ThiefMaster

+0

@ThiefMaster Wer hat etwas über Klartext gesagt? Die meisten E-Mails sind heutzutage HTML und sollten daher auf HTML-Injection überprüft werden. Ich glaube nicht, dass er sich auf Header-Injection bezogen hat. Warum sollte er die Header zurück zum Benutzer drucken? –

+1

Die meisten E-Mails sind HTML? Nicht wirklich ... zum Glück. HTML-E-Mails sind eine Plage. – ThiefMaster

Verwandte Themen