Anhänge aus Kontaktformular per eMail versenden?

Dsimon24

Lieutenant
Registriert
Aug. 2016
Beiträge
595
Hallo zusammen,

auf eine kleine Website habe ich ein Kontaktformular, dessen
Daten per eMail an eine eMail-Adresse verschickt werden.

Nun möchte ich zu diesem Kontaktformular auch die Möglichkeit bieten, Anhänge anzufügen,
die dann ebenfalls per eMail versendet werden. Welche Möglichkeiten hätte ich da. In welchen
Bereichen könnte ich Sicherheitsprobleme erhalten? - In Google kann ich leider eher nur die
Möglichkeiten finden, vorab hochgeladene Daten auf dem Server per eMail zu versenden.

VG, David
 
Natürlich müssen die Daten erstmal auf dem Server sein, ansonsten kann er die auch schlecht versenden.

Du baust also ganz normal einen Dateiupload in das Formular mit ein, nur speicherst du die Datei dann eben nicht, sonder sendest sie zusammen mit der Mail.

Falls du z.B. https://github.com/PHPMailer/PHPMailer verwendest, kannst du einfach den tmp path des uploads als attachment hinzufügen.

Und was die Sicherheit angeht: Das liegt zu 100% an der Person, die diese Mails dann liest ;)
Du kannst aber auch die Uploads auf z.B. Bilder beschränken, z.B. so (Ausschnitt aus was ich gerade offen habe)
PHP:
$info = getimagesize($files[0]['tmp_name']);
//...
} elseif ( ($info[2] !== IMAGETYPE_GIF) && ($info[2] !== IMAGETYPE_JPEG) && ($info[2] !== IMAGETYPE_PNG) ) { // only allow images
//...
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: r15ch13
coolmodi schrieb:
Und was die Sicherheit angeht: Das liegt zu 100% an der Person, die diese Mails dann liest ;)
Und an der Person die den Code schreibt. :D

Hier ein Beispiel fuer Remote Code Execution durch einen Fehler beim verarbeiten der Dateiendung und aushebeln der getimagesize und exif_imagetype Funktionen.
 
Ok, das ist aber auch selten dämlich :D
Und wenn man es nicht (öffentlich) speichert, dann kann das eh nicht passieren. Userinput nicht zu vertrauen ist die absolute Grundregel.

Auch für ne Mail würde ich min. .exe usw. verbieten, dann kann das keiner "ausversehen" starten. Office Dokumente und PDF u.U. auch, speziell alte Versionen von diesen Programmen führen alles direkt aus.
 
Zurück
Oben