Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2015, 19:21   #11
kostya247
Новичок
Джуниор
 
Регистрация: 07.12.2015
Сообщений: 7
По умолчанию

С PDO незнаком.
А только mb_eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$", $email) решит проблему?
Ведь в этом случае sql injection не пройдет, т.к. входящие данные должны соответствовать шаблону mb_eregi. Или этого недостаточно?
Можно более подробно объяснить?
kostya247 вне форума Ответить с цитированием
Старый 07.12.2015, 20:27   #12
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну так никогда не поздно познакомиться.

Регекспа наверно хватит (если в нем нет ошибки), но есть же и кроме емаила параметры. Например, имя, какие-нибудь еще данные, текст сообщения (кстати, кроме SQL Injection еще бывает XSS).
Однако никто не мешает и регексп оставить, и escape вызывать.

И еще при смене пароля немного странно проверять почту на корректность. Это при регистрации делать надо. А то может возникнуть ситуация, что пользователь зарегился, после этого добавился/поменялся регексп и он теперь не принимает его почту. Ни пароль сменить, ни залогиниться.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 07.12.2015, 20:49   #13
kostya247
Новичок
Джуниор
 
Регистрация: 07.12.2015
Сообщений: 7
По умолчанию

Ну именно в этой форме обрабатывается только поле email.

При регистрации поле email обрабатывается тем же mb_eregi с такими же параметрами, значит при ее восстановлении проблем быть не должно.

Думаю на первое время этого хватит, дальше буду изучать PDO
Только я не совсем понимаю, мог ли кто-то использовать sql injection? Для записи в базу используются же кавычи.

Последний раз редактировалось kostya247; 07.12.2015 в 21:52.
kostya247 вне форума Ответить с цитированием
Старый 07.12.2015, 21:37   #14
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И что кавычки? Добавил в поле почты '); и пиши что хочешь дальше.
Поэтому надо экранировать кавычки в тексте параметра чтоб они не воспринимались как часть запроса.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в коде. Dima9595 Паскаль, Turbo Pascal, PascalABC.NET 8 20.04.2014 13:24
Ошибка в коде dkii Общие вопросы C/C++ 2 12.12.2013 19:07
Ошибка в коде shadezx Помощь студентам 9 04.12.2013 10:03
Ошибка в коде. СИ Ver0nica Помощь студентам 2 02.10.2009 19:36
Ошибка в коде. fanyl Паскаль, Turbo Pascal, PascalABC.NET 10 21.09.2009 12:09