Apostroph als Fluchtcharakter codiert
-
23-10-2019 - |
Frage
Ich habe ein PHP -Skript, das Daten aus einem HTML -Formular erfasst und es in einer E -Mail mit Swiftmailer sendet. Wenn ein Benutzer Apostroph oder Zitate in ein Eingabefeld (textarea) eingibt, sieht die E -Mail in etwa so aus:
Formeingabe: PLD des Ehemanns
E -Mail erhalten erhalten: Ehemann PLD
Formeingabe: PLDs "Snack" "alt"
E -Mail erhalten: pld 's "Snack " "alt "
In meinem Skript gibt es einige Validierung und sanitäre Einrichtungen:
if ($_POST['form_message'] != "") {
$form_message = filter_var($_POST['form_message'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
if ($_POST['form_message'] == "") {
$errors .= 'Please enter a valid comment.<br/><br/>';
}
} else {
$errors .= 'Please enter your comment.<br/>';
}
Hier ist der Swiftmailer -Teil:
$message->setBody("Here is the information submitted to
www.polycystic-kidneydisease.com/html/contact_email.php von $ ip am $ date. n n ------------------------------------- ------ n n Name: $ name n n E-Mail-Adresse: $ E-Mail n n Betreff: $ Form_Subject n n Kommentar: $ form_message ");
Wie repariere ich es? Vielen Dank!
Lösung
Hört sich an wie magic_quotes_gpc
aktiviert. Wenn Sie es deaktivieren können, möchten Sie dies möglicherweise tun. Wenn nicht, verwenden Sie stripslashes()
Auf der Eingabe vor dem Filterung.