[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярное выражение для проверки пароля
wollk
Вечер добрый! Нашел регулярное выражение для проверки пароля подходящего под следующие условия:
1) Пароль содержит букву
2) Пароль содержит цифру
3) Пароль содержит спецсимвол
4) Длина пароля от X до Y

new RegExp('^.*(?=.{6,20})(?=.*\\d)(?=.*[a-zA-Z])(?=.*[@\\-_,./\\:+*]).*$','i');


Методом тыка и гугления пытался сделать так, чтобы спецсимволы были не обязательны, но если были, то только их перечисленных - ничего не получилось. Как же сие реализовать ?
TMake
На самом деле нужно отталкиваться ни от того что можно, а от того что нельзя
* пароль состоит только из пробелов
* пароль слишком короткий (>4 символов)

все остальное тебя не должно волновать. Для того что бы задать валидацию по моим критериям регулярное выражение не нужно.

AlmazDelDiablo
user posted image

Согласен с TMake, вас не должно волновать, что там у пользователя в качестве пароля. Главное, что бы был не меньше одного символа.

_____________
Блог | VK | GitHub | Twitch
wollk
Солидарен! Но все же, чтоб не разбирать жалобы о взломах и прочее, лучше переучивать неопытных пользователей ))

(?=^.{7,20}$)(?=.*\d)(?=.*[a-zA-Z])(?!.*\s)[0-9a-zA-Z*$-+?_&=@!%{}/'.]*$


Вроде оно

Источник: http://regexlib.com/RETester.aspx?regexp_id=2551
killer8080
Цитата (wollk @ 3.01.2015 - 22:07)
4) Длина пароля от X до Y

вот эта хрень меня всегда удивляла, зачем ограничивать длину пароля до... ?
А ведь такое дерьмо встречается и на солидных ресурсах, тот же МТС грешит этим маразмом blink.gif
Зачем намеренно ограничивать криптостойкость пароля?
wollk
Может возникнуть проблема, когда в базе хранится максимум 100 символов, а пользователь ввел 150. Вот разбирайся потом, в чем прикол. Но это удел проектирования. Но это, конечно же, удел проектирования.
killer8080
Цитата (wollk @ 3.01.2015 - 23:52)
Может возникнуть проблема, когда в базе хранится максимум 100 символов, а пользователь ввел 150

ну пароли в здравом уме никто не хранит в открытом виде, обычно хранится хеш пароля.
Valick
Цитата (wollk @ 3.01.2015 - 23:52)
Может возникнуть проблема, когда в базе хранится максимум 100 символов, а пользователь ввел 150.

в БД храниться хеш, и он что от 100 символов, что от 150 будет одинаковый
другое дело хеширование достаточно ресурсоёмкое занятие, и если не ограничивать длину пароля, то можно свободно ДОСить сайт, не напрягаясь smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
wollk
Цитата (killer8080 @ 3.01.2015 - 20:55)
Цитата (wollk @ 3.01.2015 - 23:52)
Может возникнуть проблема, когда в базе хранится максимум 100 символов, а пользователь ввел 150

ну пароли в здравом уме никто не хранит в открытом виде, обычно хранится хеш пароля.

Не надо недооценивать людей)) Времени конечно много прошло, но помню года 3-4 назад попадались мне в руки скрипты, "движки", где пароль в открытом виде хранится. А так конечно да, обычно делают так, чтоб длина хеша всегда была одной длины, не зависимо от длины пароля.

__
Как сейчас с этими "открытыми паролями" - хз, давно чужие скрипты не смотрел
killer8080
Цитата (Valick @ 3.01.2015 - 23:59)
другое дело хеширование достаточно ресурсоёмкое занятие, и если не ограничивать длину пароля, то можно свободно ДОСить сайт, не напрягаясь

ослабление паролей не лучший способ повышения стойкости сайта к DoS атакам wink.gif
На сайте обычно хватает и других, более ресурсоемких операций, чем хеширование паролей, чтож теперь застрелится? smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.