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" <absender@anderedomain.com>'; # 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; } ?> -- Andre Tann -- 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
On Tue, 3 Mar 2009 14:18:32 +0100, Andre Tann <atann@alphasrv.net> wrote:
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" <absender@anderedomain.com>';
# 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
Hallo Jürgen, Juergen Langowski, Dienstag, 3. März 2009 14:40:
Ich persönlich würde dieses Skript auf keinen Fall verwenden. Es gibt meines Wissens ganz gute kostenlose Mailskripte, die auch ordentlich abgesichert sind.
Kannst Du eines empfehlen, welches sicherer ist? Ich kann mir ja zwar einige heraussuchen, aber die Sicherheit zu beurteilen traue ich mir trotzdem nicht zu. Danke! -- Andre Tann -- 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
On Tue, 3 Mar 2009 15:07:29 +0100, Andre Tann <atann@alphasrv.net> wrote:
Hallo Jürgen,
Juergen Langowski, Dienstag, 3. März 2009 14:40:
Ich persönlich würde dieses Skript auf keinen Fall verwenden. Es gibt meines Wissens ganz gute kostenlose Mailskripte, die auch ordentlich abgesichert sind.
Kannst Du eines empfehlen, welches sicherer ist? Ich kann mir ja zwar einige heraussuchen, aber die Sicherheit zu beurteilen traue ich mir trotzdem nicht zu.
Da muss ich leider passen. Ich habe mir meins selbst geschrieben, und das macht auch, was es soll, ist aber dummerweise nicht gut dokumentiert und für Außenstehende, zumal ohne PHP-Erfahrung, wohl nicht sehr gut durchschaubar/brauchbar. Vielleicht hat ja jemand anders einen Tipp. 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
participants (2)
-
Andre Tann
-
Juergen Langowski