verfaa
Профессор
- Регистрация
- 29 Янв 2007
- Сообщения
- 417
- Реакции
- 49
- Автор темы
- #1
Здравствуйте!
Просматривал код формы обратной связи на своём сайте и задался вопросом, а нужно ли обрабатывать данные пришедшие от пользователя, если они не пишутся в БД?
Вот например есть форма обратной связи, юзер пишет в неё свои данные, а ajax-обработчик их принимает и отправляет их через функцию mail() на мой GMail
Код выглядит так:
Нужно ли пользовательские данные обрабатывать в случае отправки их через ф-ю mail()? И если да, то каким образом это сделать лучше всего?
Безопасен ли мой код обратной связи или в нем есть какие-то уязвимости?
Попробовал для своего спокойствия обрабатывать $_POST['subject'] функцией mysql_real_escape_string - в результате такой обработки сообщение вообще приходит пустым (письмо приходит, но без сообщения). А если её убрать, то сообщение доходит нормально. Почему так?
Просматривал код формы обратной связи на своём сайте и задался вопросом, а нужно ли обрабатывать данные пришедшие от пользователя, если они не пишутся в БД?
Вот например есть форма обратной связи, юзер пишет в неё свои данные, а ajax-обработчик их принимает и отправляет их через функцию mail() на мой GMail
Код выглядит так:
Код:
if( isset($_POST['message']) ) {
$mailMessage = $_POST['message'];
if( isset($_POST['subject']) ) {
$subject = $_POST['subject'];
$mailSubject = $mailSubjectHead.$subject;
}
$header="From: ".$fromAddress."\nReply-To: ".$fromAddress."\nContent-Type: text/html; charset=utf-8"."\n";
if( mail ($toAddress, $mailSubject, $mailMessage, $header) )
echo 1 ;
else
echo 0 ;
}
Нужно ли пользовательские данные обрабатывать в случае отправки их через ф-ю mail()? И если да, то каким образом это сделать лучше всего?
Безопасен ли мой код обратной связи или в нем есть какие-то уязвимости?
Попробовал для своего спокойствия обрабатывать $_POST['subject'] функцией mysql_real_escape_string - в результате такой обработки сообщение вообще приходит пустым (письмо приходит, но без сообщения). А если её убрать, то сообщение доходит нормально. Почему так?