Apostroph codificato come un carattere di escape
-
23-10-2019 - |
Domanda
Ho uno script PHP che prende i dati da un modulo HTML e lo invia in una e-mail con SwiftMailer. Quando un utente inserisce apostrofo o le virgolette in un campo di input (textarea), l'e-mail simile a questa:
ingressoModulo: PLD del marito
E-mail ricevute Ricevute: Marito \ 's PLD
ingressoModulo: di PLD "snack" "vecchio"
E-mail ricevuto: pld \ 's \ "snack \" \ "vecchio \"
V'è una certa convalida e servizi igienico-sanitari in corso nel mio script:
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/>';
}
Ecco la parte Swiftmailer:
$message->setBody("Here is the information submitted to
www.polycystic-kidneydisease.com/html/contact_email.php da $ ip il $ date. \ n \ n -------------------------------- \ n \ n Nome: $ nome \ n \ n indirizzo e-mail: e-mail $ \ n \ n Oggetto: $ form_subject \ n \ n Commento: $ form_message ");
Come posso risolvere il problema? Grazie!
Soluzione
magic_quotes_gpc
è abilitato. Se è possibile disattivarlo, si consiglia di farlo; in caso contrario, utilizzare stripslashes()
sull'ingresso prima di fare la vostra filtraggio.