#php #email #sanitization
#php #Адрес электронной почты #очистка
Вопрос:
Мои PHP-скрипты получают информацию (из формы, отправленной пользователем) и отправляют ее (почти) сразу в виде электронного письма. Какой тип очистки данных я должен выполнить для данных?
Я хочу точно знать, какую функцию PHP использовать для очистки данных.
Комментарии:
1. для начала неплохо использовать htmlentities, также рассмотрите возможность использования striptags, чтобы разрешать только безвредные теги
2. Несколько быстрых вопросов по этому вопросу, каков источник данных? В какой кодировке закодированы получаемые данные? В какой кодировке вы отправляете электронное письмо?
3. Форма отправляется пользователем, который не уверен, в какой кодировке (как я могу узнать?)
4. @Ibu почему? Оба совершенно не нужны для электронной почты (по крайней мере, с точки зрения безопасности).
Ответ №1:
Вам нужно прочитать о внедрении электронной почты. Взгляните сюда:
Комментарии:
1. Вероятно, это сэкономило бы вам некоторое время.
Ответ №2:
Взгляните на фильтрацию данных PHP. В php есть множество встроенных функций, которые можно использовать для проверки и очистки данных.
Комментарии:
1. Хорошо, это полезно для проверки правильности адреса электронной почты и тому подобного. Но как это защитит меня от вышеупомянутого внедрения электронной почты?
2. Ссылки, предложенные datasage и Alix, полезны. Я ответил на ваш вопрос: «Я хочу точно знать, какую функцию PHP использовать для очистки данных».
3. Можете ли вы привести мне пример, скажем, проверки
$message
(которая содержит сообщение пользователя), чтобы убедиться, что нет почтовых инъекций. (Возможно, нужно просто показать мне, какой именно методfilter_var()
использовать?)4. Сообщение содержит текст. Итак, вы могли бы попробовать использовать filter_var($message, FILTER_SANITIZE_STRING) и проверить результат. Я предлагаю вам прочитать ссылки, чтобы понять, каковы возможные уязвимости, и проверить их.
Ответ №3:
Вы захотите:
- подтвердите адрес электронной почты
- очищайте (или нет) HTML-теги, чтобы избежать XSS-атак
- очистите содержимое электронной почты, чтобы избежать инъекций заголовка электронной почты