Апостроф закодирован как escape-символ - PullRequest
1 голос
/ 24 января 2011

У меня есть PHP-скрипт, который берет данные из HTML-формы и отправляет их по электронной почте с помощью SwiftMailer.Когда пользователь вводит апостроф или кавычки в поле ввода (textarea), электронная почта выглядит примерно так:

Форма ввода: PLD мужа

Получено электронное письмо получено: МужPLD

Форма ввода: pld's "snack" "old"

Письмо получено: pld \ 'snack \ "\" old \ "

Тамв моем скрипте происходит проверка и санитария:

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/>';
    }

Вот часть Swiftmailer:

$message->setBody("Here is the information submitted to 

www.polycystic-kidneydisease.com / html / contact_email.php от $ip на $ date. \ n \ n -------------------------------- \ n \ n name: $ name \n \ n адрес электронной почты: $ email \ n \ n subject: $ form_subject \ n \ n комментарий: $ form_message ");

Как это исправить? Спасибо!

1 Ответ

5 голосов
/ 24 января 2011

Звучит как magic_quotes_gpc включено.Если вы можете отключить его, вы можете сделать это;Если нет, используйте stripslashes() на входе перед выполнением фильтрации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...