Hi,
ich habe mich erst vor kurzem in PHP gewagt und als ich auf Hackerangriffe und das Schlagwort "Injection" gestoßen bin, hab ich die Problematik bislang so verstanden, dass der Hacker Codes in die Eingabefelder eingibt und damit andere Befehle an die Seite schickt.
Ich habe Standartabsicherungen gegen die gängigen Zugriffsversuche gefunden, die bestimmte Zeichen unterbinden, die in gängigen Befehlen enthalten sind (z.B. \\n oder cc:).
Kurz darauf habe ich in einem PHP Tutorial ein Kontaktformular gesehen, das ungefähr so aussieht:
<?php
$lost = "deineadresse@xy.de";
$name = $_POST["name"];
$mail = $_POST["mail"];
$text = $_POST["text"];
$betreff = "Kontaktformular wurde verwendet!";
$nachricht = "Achtung dein Kontaktformular wurde verwendet! Hier die Benutzerdaten:
Name = '$name'
E-Mail = '$mail'
Nachricht = '$text'";
$from = "Adresse <[email]Kontaktformular@adresse.de[/email]>";
$mailfunktion = mail($lost, $betreff, $nachricht, $from);
if($mailfunktion){
echo 'E-Mail erfolgreich verschickt, wir werden uns bei Ihnen so schnell wie möglich melden!';
}else{
echo "Es tut mir Leid. Ihre E-Mail konnte nicht verschickt werden, probieren Sie es später erneut!";
die;
}
?>
Alles anzeigen
Meine Frage:
Ist bei so einem Gerüst eine Absicherung wie oben beschrieben überhaupt notwendig? Wenn ich es richtig verstehe, wird die Eingabe des Hackers doch sowieso nicht als Befehl geschickt, sondern landet einfach nur Zeichen für Zeichen in meiner Mail als zitierter Teil der Nachricht, oder? Also, was ich meine ist, dass die Eingabe des Hackers sowieso nicht in der mail-function landet, sondern in der $nachricht zitiert wird.
Danke schonmal für die Aufklärung.