Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Таки, регистрация пользователя.
Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2015
Помог: 0 раз(а)
Доброго времени суток, Товарищи!
Дополз помаленьку до регистрации пользователя.
Сначала создал просто ввод данных в форму и добавление регистрации, затем начал помаленьку добавлять условия. Вроде все сделал, все условия работали, перешел к разбору инфы о том как пароль проверять. Первый тест - и он у меня ругается на введенный логин, что мол уже существует в системе!
Пересмотрел вроде все на несколько раз, ниче найти не могу. Странно еще то, что я ж ниче вроде не менял больше, мистика, однако!
Помогите найти косяк, пожалуйста)
И заодно ответьте мне на пару наверно банальных вопросов:
1) Как сделать (по феншую) проверку логина и авторизацию регистронезависимой?
2) Могу ли я сравнивать значение в базе со значением переменной $password? Не очень пока понимаю, как работает md5.
3) Проверку длины пароля нужно делать на основе $_POST['password'] и ни в коем случае не $password, верно? или я совсем балбес и нифига не шарю и всё напрочь не так? если да, то как надо?
Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011
Помог: 7 раз(а)
Alessanderrr пишет:
1) Как сделать (по феншую) проверку логина и авторизацию регистронезависимой?
В моем представлении по феншую проверка логина и пароля должна быть как раз регистрозависимой.
Другой вопрос - это желание избежать дублирования имен типа Vasya и vaSya, но это к проверке не относится. В этом случае при проверке существования при регистрации приводить передаваемое и получаемое значения к одному регистру.
Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2015
Помог: 0 раз(а)
MAXUS пишет:
Alessanderrr пишет:
1) Как сделать (по феншую) проверку логина и авторизацию регистронезависимой?
В моем представлении по феншую проверка логина и пароля должна быть как раз регистрозависимой.
Другой вопрос - это желание избежать дублирования имен типа Vasya и vaSya, но это к проверке не относится. В этом случае при проверке существования при регистрации приводить передаваемое и получаемое значения к одному регистру.
Таки, проверка должна быть регистронезависимой для логина (в моем понимании) а для пароля, конечно, регистрозависимой. Зачем регистрозависимость для логина? логины видят все кому интересно, и это получается только неудобство при авторизации доставит, а пользы никакой.. не?
и я на пальцах понял как это сделать, но вопрос был не в том, делать ли или нет, а как именно сделать)
Собственно, решение видится так:
При сравнении существует ли такой юзер, значение из базы и значение из введенной формы приравнивается к одинаковому регистру, и таким образом дубль юзера создать не даст. Так же и при авторизации - сначала значения приводятся к единому регистру, а уже затем сравниваются, и если совпадают, то проверка выполняется успешно.
Сначала написал свое решение потом до конца сообщение написал, мы одно и то же написали)))
Но главная беда моего поста в том, что у меня процесс встал на проверке наличия такого же юзера в базе - что бы я ни ввел (при условии выполнения условий допустимости символов и длины логина) я в любом случае получаю сообщение о том что такой юзер уже существует. Косяк гдета должен быть элементарный но найти его чета у меня не получается, вот и прошу помощи!
Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011
Помог: 7 раз(а)
Alessanderrr пишет:
Таки да, проверка должна быть регистронезависимой, и я на пальцах понял как это сделать, но вопрос был не в том, делать ли или нет, а как именно сделать)
Собственно, решение видится так:
При сравнении существует ли такой юзер, значение из базы и значение из введенной формы приравнивается к одинаковому регистру, и таким образом дубль юзера создать не даст.
Да. Я бы еще проверял на совпадение TOMAS и T0MAS. А при использовании кириллицы ТОМАS и TOMAS... Т.е. приводил к одному хэшу из латиницы.
Alessanderrr пишет:
Так же и при авторизации - сначала значения приводятся к единому регистру, а уже затем сравниваются, и если совпадают, то проверка выполняется успешно.
Сначала написал свое решение потом до конца сообщение написал, мы одно и то же написали)))
При авторизации регистр должен иметь значение.
Alessanderrr пишет:
Но главная беда моего поста в том, что у меня процесс встал на проверке наличия такого же юзера в базе - что бы я ни ввел (при условии выполнения условий допустимости символов и длины логина) я в любом случае получаю сообщение о том что такой юзер уже существует. Косяк гдета должен быть элементарный но найти его чета у меня не получается, вот и прошу помощи!
Тебе же написали, что проверка на существование у тебя составлена не правильно. Всегда возвращает true.
Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2015
Помог: 0 раз(а)
MAXUS пишет:
При авторизации регистр должен иметь значение.
Таки, прошу объяснить, зачем должен иметь значение регистр логина при авторизации? Не с целью поперепираться, но с целью понять как правильно и почему
MAXUS пишет:
Тебе же написали, что проверка на существование у тебя составлена не правильно. Всегда возвращает true.
Прочитал коряво первый ответ, отвлекли, пардон. Теперь понял! (Добавление)
MAXUS пишет:
Да. Я бы еще проверял на совпадение TOMAS и T0MAS. А при использовании кириллицы ТОМАS и TOMAS... Т.е. приводил к одному хэшу из латиницы.
Если я правильно понял вышенаписанное, то моя первая проверка отсекает возможность написание чего-либо кириллицей... Не?
если нет, то можно примерчик как правильно?
MAXUS
Отправлено: 13 Мая, 2015 - 09:08:39
Посетитель
Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011
Помог: 7 раз(а)
Alessanderrr пишет:
Таки, прошу объяснить, зачем должен иметь значение регистр логина при авторизации? Не с целью поперепираться, но с целью понять как правильно и почему
Количество комбинаций возрастает в разы, таким образом усложняется подбор. Обрати внимание на сообщения о степени защищенности пароля в банковских системах, например, да в тех же cms.
Alessanderrr пишет:
Если я правильно понял вышенаписанное, то моя первая проверка отсекает возможность написание чего-либо кириллицей... Не?
если нет, то можно примерчик как правильно?
Отсекает. Но не отсекает первый пример, где вместо O используется ноль. Про кириллицу просто для примера сказал. В моей практике был миллион случаев, когда, например, на форумах тролли регистрировали похожие на нормальных пользователей имена и писали от их имени всякую хрень. Модераторов иногда это ставило в конкретный тупик
Alessanderrr
Отправлено: 13 Мая, 2015 - 09:18:32
Новичок
Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2015
Помог: 0 раз(а)
MAXUS пишет:
Количество комбинаций возрастает в разы, таким образом усложняется подбор. Обрати внимание на сообщения о степени защищенности пароля в банковских системах, например, да в тех же cms.
В моем случае логин нужен для форума-блога и т.д., т.е. там, где у любого незареганного есть возможность вживую увидеть логины. В данной ситуации мне кажется наличие-отсутствие регистра при вводе логина значения особого не имеют... или я не прав?
ну вот если я решу взломать юзера MAXUS к примеру)))) я ж могу зайти в любую тему и увидеть его логин в коментах к постам))
Хотя, мне сейчас пришло в голову: данная проблема упраздняется в случае, если при регистрации обязательно указание email, который не отображается в профиле, и при этом авторизация производится по сочетанию email/пароль, а не логин/пароль, верно? или я неправ? если неправ, где и почему?
MAXUS пишет:
Отсекает. Но не отсекает первый пример, где вместо O используется ноль. Про кириллицу просто для примера сказал. В моей практике был миллион случаев, когда, например, на форумах тролли регистрировали похожие на нормальных пользователей имена и писали от их имени всякую хрень. Модераторов иногда это ставило в конкретный тупик
А вот это очень прикольно)) можно примерчик, как это добро реализовать?
MAXUS
Отправлено: 13 Мая, 2015 - 14:53:37
Посетитель
Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011
Помог: 7 раз(а)
Alessanderrr пишет:
ну вот если я решу взломать юзера MAXUS к примеру)))) я ж могу зайти в любую тему и увидеть его логин в коментах к постам))
Я ж не знаю, какая у тебя конкретная задача. В отношении форума, согласен, не особо поможет, но в отношении какого-нибудь сервиса усложнит. А регистрозависимый пароль - это обязательно, кмк. Хотя... по большому счету тоже зависит от задачи. Ты просто про фэншуй спрашивал. Как сказал один пожарник, по фэншую вместо экибаны тут должен быть огнетушитель
Alessanderrr пишет:
Хотя, мне сейчас пришло в голову: данная проблема упраздняется в случае, если при регистрации обязательно указание email.
Если используешь e-mail, то обязательно организуй подтверждение через отправку письма. И принимай во внимание, что в email регистр не играет роли.
Alessanderrr пишет:
А вот это очень прикольно)) можно примерчик, как это добро реализовать?
Нене... Опытом поделиться или что-то для себя интересное подчерпнуть - это завсегда. А напишите за меня пожалуйста - это, прости, но лень. В общих чертах - меняешь все спорные символы на определенный символ латиницы, таким образом формируешь хэш. Например, ноль на O, при этом переводишь или в нижний или в верхний регистр (как удобно). При проверке на существование сравниваешь с ним, а не с логином.
Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2015
Помог: 0 раз(а)
MAXUS пишет:
Alessanderrr пишет:
ну вот если я решу взломать юзера MAXUS к примеру)))) я ж могу зайти в любую тему и увидеть его логин в коментах к постам))
Я ж не знаю, какая у тебя конкретная задача. В отношении форума, согласен, не особо поможет, но в отношении какого-нибудь сервиса усложнит. А регистрозависимый пароль - это обязательно, кмк. Хотя... по большому счету тоже зависит от задачи. Ты просто про фэншуй спрашивал. Как сказал один пожарник, по фэншую вместо экибаны тут должен быть огнетушитель
Alessanderrr пишет:
Хотя, мне сейчас пришло в голову: данная проблема упраздняется в случае, если при регистрации обязательно указание email.
Если используешь e-mail, то обязательно организуй подтверждение через отправку письма. И принимай во внимание, что в email регистр не играет роли.
Alessanderrr пишет:
А вот это очень прикольно)) можно примерчик, как это добро реализовать?
Нене... Опытом поделиться или что-то для себя интересное подчерпнуть - это завсегда. А напишите за меня пожалуйста - это, прости, но лень. В общих чертах - меняешь все спорные символы на определенный символ латиницы, таким образом формируешь хэш. Например, ноль на O, при этом переводишь или в нижний или в верхний регистр (как удобно). При проверке на существование сравниваешь с ним, а не с логином.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.