Addslashes? Или паранойя?

12
a.fatman
На сайте с 15.01.2006
Offline
127
1253

На сайте есть форма отправки письма с заказом. Данные тупо вставляются в шаблон письма и отправляются с помощью PHP (mail()).

Нужно ли экранировать кавычки (addslashes), или у меня обострилась паранойя?

Просто письмо приходит со слэшами перед кавычками, что не очень красиво.

Или предложите элегантное решение сей проблемы.

Спасибо.

nickspring
На сайте с 29.03.2006
Offline
228
#1
a.fatman:
На сайте есть форма отправки письма с заказом. Данные тупо вставляются в шаблон письма и отправляются с помощью PHP (mail()).

Нужно ли экранировать кавычки (addslashes), или у меня обострилась паранойя?

Просто письмо приходит со слэшами перед кавычками, что не очень красиво.

Или предложите элегантное решение сей проблемы.

Спасибо.

Кавычки не нужны. Судя по всему опция magic_quotes_gpc у Вас включена в PHP, поэтому в том месте где вызывается mail() нужно использовать stripslashes()

a.fatman
На сайте с 15.01.2006
Offline
127
#2

Нет, слэшей это я сам наставил.

То есть, я могу смело отсылать, не экранируя кавычки, введенные пользователем данные, не опасаясь злобных хакеров.

Теги я, разумеется, вырезаю.

nickspring
На сайте с 29.03.2006
Offline
228
#3

Думаю что если в самой sendmail и есть баги, то врядли экранирование кавычек в скрипте поможет.

a.fatman
На сайте с 15.01.2006
Offline
127
#4

Спасибо.

Попробую расслабиться. :)

A
На сайте с 25.10.2005
Offline
58
#5

экранирование кавычек нужно делать только при работе с БД.

Читать и фтыкать: http://www.phpfaq.ru/slashes

nickspring
На сайте с 29.03.2006
Offline
228
#6
Antimal:
экранирование кавычек нужно делать только при работе с БД.
Читать и фтыкать: http://www.phpfaq.ru/slashes

Вобщем-то все это итак по сути описано в официальном руководстве по Php.

dkameleon
На сайте с 09.12.2005
Offline
386
#7
a.fatman:


То есть, я могу смело отсылать, не экранируя кавычки, введенные пользователем данные, не опасаясь злобных хакеров.

ЛОпасаться как раз таки необходимо, особенно если вы не фильтруете имейл и имя отправителя, которые обычно подставляются в заголовок письма.

Дизайн интерьера (http://balabukha.com/)
[Удален]
#8
a.fatman:
Или предложите элегантное решение сей проблемы.

Я бы поменял кавычки на " или « и ».

А вообще в скриптах желательно не запрещать запрещенное, а пропускать разрешенное... так проще и короче получится.

Artisan
На сайте с 04.03.2005
Offline
353
#9

Для начала надо понять как работает функция mail() в PHP и если она например передает программе sendmail адрес почты куда надо послать письмо в командной строке то нельзя туда пропускать адреса которые содержат знак точка с запятой и некоторые другие, ...

www.leak.info / ДАРОМ линки конкурентов и забытых доменов
A
На сайте с 25.10.2005
Offline
58
#10
Artisan:
Для начала надо понять как работает функция mail() в PHP и если она например передает программе sendmail адрес почты куда надо послать письмо в командной строке то нельзя туда пропускать адреса которые содержат знак точка с запятой и некоторые другие, ...

подробнее можно? с чем это может быть связано?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий