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

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

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

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

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

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

Пожалуйста помогите разобраться где может быть дыра и как можно защитить код.
Сегодня на сайте у нескольких тысяч пользователей изменились пароли на один общий для всех.
Возможно ли это при таком построении кода и как этого избежать?

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

Цитата:
Код:
WHERE email='$email'
https://www.google.com/search?q=sql+injection

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

В логах сервера множество подобных записей.
Расшифруйте пожалуйста новичку что они значат.

Последний раз редактировалось kostya247; 07.12.2015 в 21:52.
kostya247 вне форума Ответить с цитированием
Старый 07.12.2015, 16:37   #4
kostya247
Новичок
Джуниор
 
Регистрация: 07.12.2015
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение

Вы про запись в базу или про выбор email в базе?
kostya247 вне форума Ответить с цитированием
Старый 07.12.2015, 16:45   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Какая разница?

Изучайте результаты гугла по ссылке выше и содержимое этого комикса до просветления.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 07.12.2015, 16:48   #6
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
Расшифруйте пожалуйста новичку что они значат.
это налядное пособие для хацкеров, как положить легенько супер сайт.
вам еще позло
come-on вне форума Ответить с цитированием
Старый 07.12.2015, 16:58   #7
kostya247
Новичок
Джуниор
 
Регистрация: 07.12.2015
Сообщений: 7
По умолчанию

А если не фильтровать данные, а использовать протокол https это поможет?
Или обработка и фильтрация входящих данных это панацея от SQL инекций?
kostya247 вне форума Ответить с цитированием
Старый 07.12.2015, 17:06   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

https вообще не о том. Он может защитить например от перехвата данных отправленных пользователем (сильно актуально при использовании открытой wi-fi точки, или для защиты от недобросовестных промежуточных узлов типа прокси сервера, провайдера). Ну то есть трафик от пользователя к серверу идет зашифрованным. Но это никак не относится к данной проблеме, и проблема никак не относится к передаче данных по сети, разберитесь нормально в чем она состоит.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 07.12.2015 в 17:12.
Alex11223 вне форума Ответить с цитированием
Старый 07.12.2015, 18:19   #9
kostya247
Новичок
Джуниор
 
Регистрация: 07.12.2015
Сообщений: 7
По умолчанию

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

Лучше PDO с prepared запросами.
https://en.wikipedia.org/wiki/Prepar...tement#PHP_PDO

Ну или второе.

Естественно это надо делать для всех полученных параметров, а не только для емаила.
Ушел с форума, 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