[latex]Mae govannen![/latex]
<?php
// Erfassung der übermittelten Variablen in "Rohvatiablen"
$emailroh = $_GET['eMail'];
$nameroh = $_GET['Name'];
$nachrichtroh = $_GET['Nachricht'];
Hier kopierst du die Werte aus $_GET in Variablen, um bestimmte Zeichen zu ersetzen ...
// Standard-Klauseln aus dem eMail-Template durch geprüfte Nachrichtenelemente ersetzten
$ende = str_replace("eMail", $_GET['eMail'], $nachricht);
$ende = str_replace("Name", $_GET['Name'], $ende);
$ende = str_replace("Name",nl2br( $_GET['Nachricht']), $ende);
benutzt aber hier die ursprünglichen unsicheren Werte aus $_GET. Die Variablen mit den ersetzten Werten hingegen werden nie wieder benutzt.
// "Verbotene" Zeichen werden manuell(!) ausgefiltert
$emailroh = str_replace("<", "<", $emailroh);
$emailroh = str_replace("\n", "", $emailroh);
$emailroh = str_replace("\r", "", $emailroh);
$emailroh = str_replace(">", ">", $emailroh);
$emailroh = str_replace(chr(34), """, $emailroh);
$emailroh = str_replace("or", "-oder-;", $emailroh);
$emailroh = str_replace(chr(39), """, $emailroh);
$nameroh = str_replace("<", "<", $nameroh);
$nameroh = str_replace("\n", "", $nameroh);
$nameroh = str_replace("\r", "", $nameroh);
$nameroh = str_replace(">", ">", $nameroh);
$nameroh = str_replace(chr(34), """, $nameroh);
$nameroh = str_replace("or", "-oder-;", $nameroh);
$nameroh = str_replace(chr(39), """, $nameroh);
$nachrichtroh = str_replace("<", "<", $nachrichtroh);
$nachrichtroh = str_replace(">", ">", $nachrichtroh);
$nachrichtroh = str_replace(chr(34), """, $nachrichtroh);
$nachrichtroh = str_replace("or", "-oder-;", $nachrichtroh);
$nachrichtroh = str_replace(chr(39), """, $nachrichtroh);
$nachrichtroh = str_replace("\n", "", $nachrichtroh);
$nachrichtroh = str_replace("\r", "", $nachrichtroh);
[code lang=php]str_replace()
> // Nachrichtentemplate definieren
> $nachricht = '
> <html>
> <head>
[...]
> </html>
> ';
Heredoc macht die Sache übersichtlicher.
> // E-Mail senden
> mail($empfaenger, $betreff,$ende, $header);
Keine Überprüfung, ob mail() erfolgreich war?
> Meine Frage: Funktioniert das so und ist das Skript auch "hacksicher"?
Nö, ist es nicht (siehe erster Teil).
Cü,
Kai
--
~~~ ken SENT ME ~~~
Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
in Richtung "Mess up the Web".([suit](https://forum.selfhtml.org/?t=197497&m=1324775))
[SelfHTML-Forum-Stylesheet](http://selfhtml.knrs.de/#h_stylesheet)