Перейти к публикации

Баги с регистрацией пользователей в DLE


Рекомендованные сообщения

Если зарегистрировать пользователя с логином, содержащим круглые скобки, то возможна повторная его регистрация, при которой возникает SQL ошибка

MySQL Error!

------------------------

The Error returned was:

Duplicate entry 'login)' for key 2

Error Number:

1062

...

Ссылка на сообщение
Поделиться на других сайтах

Ошибка в том, что SQL воспринимает круглые скобки как спец. символы в регулярных выражениях

$db->query ("SELECT name FROM " . USERPREFIX . "_users WHERE LOWER(name) REGEXP '[[:<:]]{$name}[[:>:]]'");

Ссылка на сообщение
Поделиться на других сайтах

Ошибка в том, что SQL воспринимает круглые скобки как спец. символы в регулярных выражениях

Неверно, посмотрите на ошибку MySQL, это не синтаксическая ошибка. Это срабатывает дополнительная защита в MySQL от регистрации одинаковых логинов, если срипт случайно пропустит в проверке одинанаковый логин, то сработает дополнительно установленная защита на уровне БД. Данная ошибка не является ошибкой в безопасности скрипта.

Ссылка на сообщение
Поделиться на других сайтах

Нашёл еще один баг.

Если пользователь при регистрации нового аккуанта выберет пароль, включающий кроме букв и цифр, знаки, например, применяемые в SQL-запросах

/ * " и т. д.
то его вход на сайт будет не возможен из-за экранирования пароля, для защиты от SQL-инъекции Если пароль, например,
""""/**/
то он преобретает вид
\\"\\"\\"\\"/**/

Кстати, зачем экранировать пароль, если он в SQL-запросе представляется md5 хешем?

Изменено пользователем zhekka3
Ссылка на сообщение
Поделиться на других сайтах

Кстати, зачем экранировать пароль, если он в SQL-запросе представляется md5 хешем?

Да согласен это лишнее.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

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

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...