Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ограничить диапазон используемых символов в пароле #316

Closed
kairina2020 opened this issue Jul 13, 2023 · 5 comments
Labels

Comments

@kairina2020
Copy link
Contributor

kairina2020 commented Jul 13, 2023

Problem description

Сейчас в пароле проходят русские символы, пробелы. Пробелы и в качестве первого и последнего символа. Символы {-} и {.} - сейчас можно использовать в качестве крайних символов, что не допустимо. При тестировании тяжело угадать, что пройдет при регистрации, а потом без проблем авторизацию.

Proposed solution

Возможно ограничим пароль данными символами

{a-z} {A-Z} {0-9} {!} {(} {)} {?} {[} {]} {_} {`} {~} {;} {:} {! }{#} {$} {%} {^}{&} {*} {+} {=}
Тире {-} и {.} эти символы не поддерживается в качестве первого символа в пароле

@fey
Copy link
Contributor

fey commented Jul 14, 2023

сделаем его регистронезависимым.

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

@kairina2020
Copy link
Contributor Author

@fey .
Хорошо, пока не сталкивалась? учту. Поправила.
Николай, скажи, а то что мы правили баг, когда при регистрации почты с буквами в верхнем регистре, а потом не получалось авторизоваться с такой эл. почтой, это как-то связано с регистронезависимостью?
Если да, то в чем заключается? Может быть я не совсем правильно поняла Дмитрия Жигулина, когда мы этот момент обсуждали.
Предположим для разработчиков в коде это одно значение (например, все регистры приводятся к одному виду и уже используются) А при использовании в данных при регистрации - совершенно другое (там сравниваются обязательно в каком регистре буквы).
В общем я согласна, что в пароле очень важен регистр и одна буква в разных регистрах - это 2 разных символа считается.

@fey
Copy link
Contributor

fey commented Jul 14, 2023

Николай, скажи, а то что мы правили баг, когда при регистрации почты с буквами в верхнем регистре, а потом не получалось авторизоваться с такой эл. почтой, это как-то связано с регистронезависимостью?
Если да, то в чем заключается? Может быть я не совсем правильно поняла Дмитрия Жигулина, когда мы этот момент обсуждали.

Когда пользователь вводит своей емейл, его нужно нормализовать в приложении. Т.е. из FEYCOT@gmail.com сделать feycot@gmail.com и хранить всю электронную почту в нижнем регистре. Это важно как раз для единообразия и удобства проверки регистрации.

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

ПОсмотрите, как работают сервисы для генерации паролей - bitWarden, 1pass, LastPass - они предлагают использовать любой регистр + спец символы, чтобы защитить от перебора пароль.

@fey
Copy link
Contributor

fey commented Jul 14, 2023

Главное ограничение, которое стоит вводить для пароля, я думаю - запрещать пробельные символы

@faciledictu
Copy link
Contributor

Я заметил, что у меня в Chrome, Safari и Firefox на macOS в поле пароля расклада клавиатуры ограничена английской. Можно только скопировать нелатинские символы откуда-то и вставить. Если человек зарегистрируется каким-то способом, где можно вводить эти символы или скопирует их, то он потом может испытать проблемы со входом в аккаунт через браузеры в macOS. По мне лучше оставить латиницу. По поводу того, что не поддерживаются первые - и . — не знаю, это лишнее ограничение, как по мне.

@fey fey changed the title Ограничить количество используемых символов в пароле Ограничить диапазон используемых символов в пароле Jul 24, 2023
faciledictu added a commit to faciledictu/runit that referenced this issue Aug 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants