Я использую PHPMailer для отправки электронной почты.Фильтровать/дезинфицировать тему и тело электронной почты в PHP
Теперь мы все знаем, что нам нужно всегда проверять ввод пользователя.
Но как насчет темы и тела писем? (так что я не имею в виду адрес электронной почты)
Что нужно дезинфицировать и как это сделать? Какая (основная) уязвимость?
Должен ли я использовать что-то вроде HTMLPurifier для этого? Потому что я хочу, чтобы пользователь мог разметить там электронные письма. Или я должен использовать/написать функцию BB-кода, что можно использовать?
Update:
Для тела письма:
я теперь использовать htmlspecialchars с ENT_QUOTES флагом. После этого запустите синтаксический анализатор BB-кода (jBBCode). Теперь это выглядит безопасно.
Для предмета:
Я не использую любые проверки/дезинфекцию/и т.д.. (кроме min и max strlen) в поле темы. Протестировано с помощью javascript, но похоже, что все в порядке.
Могу ли я предположить, что это безопасно сейчас? (Ps код не получает печататься нигде, чем в электронной почте.)
Это сделает вещи безопасными, но не позволит разметке работать. – Synchro