On Tue, 3 Mar 2009 14:18:32 +0100, Andre Tann
Hallo zusammen,
um ein Webformular zu erstellen habe ich mir dieses Skript [1] ergoogelt. Nun würde mich interessieren, ob das Skript überhaupt sicher ist. Zwar verstehe ich von php praktisch nichts, trotzdem meine ich zusehen, daß da keine Eingabevalidierung stattfindet. Was ist, wenn sich in der Eingabe Newlines o.ä. befinden?
Kann ich das Skript guten Gewissens meinem Apache unterschieben?
Danke für ein paar Anstöße! Andre
[1] Das Skript:
# Empfaenger $strEmpfaenger = 'adresse@example.com';
# Absender $strFrom = '"Webformular"
'; # Betreff $strSubject = 'Betreff...';
# Danke-Seite $strReturnhtml = 'http://www.irgendeinewebseite.com';
# Delimiter $strDelimiter = ":\t";
### Ende Konfiguration ###
if($_POST) { $strMailtext = "";
while(list($strName,$value) = each($_POST)) { if(is_array($value)) { foreach($value as $value_array) { $strMailtext .= $strName.$strDelimiter.$value_array."\n"; } } else { $strMailtext .= $strName.$strDelimiter.$value."\n"; } }
if(get_magic_quotes_gpc()) { $strMailtext = stripslashes($strMailtext); }
mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom) or die("Die Mail konnte nicht versendet werden."); header("Location: $strReturnhtml"); exit; }
?>
Einerseits: Die Gefahr ist nicht ganz so groß, weil die besonders kritischen Headerzeilen fest verdrahtet sind. Extrem gefährlich wäre z.B. ein vom Absender frei beschreibbares "Subject" - Feld. Andererseits: Die Eingabe wird tatsächlich nur höchst unzureichend validiert, und das ist grundsätzlich ein Einfallstor. Ich persönlich würde dieses Skript auf keinen Fall verwenden. Es gibt meines Wissens ganz gute kostenlose Mailskripte, die auch ordentlich abgesichert sind. Jürgen -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org