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

12
A
На сайте с 25.10.2005
Offline
58
#11
dkameleon:
не фильтруете имейл и имя отправителя

ответь для себя на вопросы: зачем фильтровать данные? для чего это вообще делается?

очень похоже на "слышал звон, да не знает где он".

Советую посетить форум: http://phpclub.ru/talk/index.php

и подобные вопросы задавать там, эффект будет куда лучше ;)

RS
На сайте с 01.04.2004
Offline
131
#12
Artisan:
Для начала надо понять как работает функция mail() в PHP и если она например передает программе sendmail адрес почты куда надо послать письмо в командной строке то нельзя туда пропускать адреса которые содержат знак точка с запятой и некоторые другие, ...

делается элементарно:

if(!eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$", $email)) {

echo "<p>Введите существующий email</p>\n";

}

можно еще попробовать сделать проверку на JavaScript-ах, но лучше не заморачиваться

по поводу addslashes - их пользовать только при работе с базой данных.

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

Всем спасибо, особенно за примечание, что addslashes необходим только при работе с БД и за ссылку http://www.phpfaq.ru/slashes (полезно иногда перечитать).

Scaramush:
Я бы поменял кавычки на &quot; или &laquo; и &raquo;.

В письме они и придут в виде кода, а не в виде красивых кавычек.

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

В данном случае они приходят в теле письма.

dkameleon
На сайте с 09.12.2005
Offline
386
#14
Antimal:

ответь для себя на вопросы: зачем фильтровать данные? для чего это вообще делается?

За меня переживать не нужно. Я достаточно компетентен в этом вопросе. Не вчера родился.

И в случае не понимания того, о чём я писал, лучше переспросить, а не тыкать под нос пространной ссылкой.

Дизайн интерьера (http://balabukha.com/)
Artisan
На сайте с 04.03.2005
Offline
375
#15
Antimal:
подробнее можно? с чем это может быть связано?

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

www.leak.info / ДАРОМ линки конкурентов и забытых доменов
nickspring
На сайте с 29.03.2006
Offline
228
#16
Artisan:
Знак точка с запятой в shell позволяет вызывать несколько команд в одной строке причем команды отделяются одна от другой как раз этим знаком то есть если в адресе электронной почты есть знак точка с запятой то при передаче такого адреса в программу sendmail в командной строке все что находится в командной строке после этого знака будет понято и выполнено как другая команда которая никак не связана с отсылкой почты и может делать что то совсем плохое, ...

а с чего Вы взяли что PHP так вот тупо не глядя передает данные в sendmail? надо бы проверить...

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

... проверил на нашем серваке (Linux Fedora Core). Нет такого бага. Видимо, все проверяется в PHP, как положено.

A
На сайте с 25.10.2005
Offline
58
#18
dkameleon:
За меня переживать не нужно. Я достаточно компетентен в этом вопросе. Не вчера родился.

И в случае не понимания того, о чём я писал, лучше переспросить, а не тыкать под нос пространной ссылкой.

Выражайтесь яснее и не будет вопросов.

DJ_Petrovich
На сайте с 13.02.2006
Offline
188
#19
a.fatman:

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

второе :)

Тонны одноцентового трафика из Директа для ваших сайтов. Настройка - бесплатно! (/ru/forum/779616) Лендинг + Реклама в Яндекс.Директ за 15 минут! (/ru/forum/comment/16213883)
12

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