@khomaldi
разбираюсь потихоньку

Разумно ли использовать следующее рег. выражение для пароля?

Здравствуйте. Я хочу дать пользователю возможность вводить любые символы для пароля, кроме пробела. Использую следующее рег. выражение /^[\S]{8,72}$/.

Скажите, пожалуйста, насколько это безопасно (вдруг он там что-то эдакое хитрое введёт?) И если это небезопасно, то какое рег. выражение использовать для такой цели?
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега Веб-разработка
software engineer
Взято с рекомендаций разработчиков мозиллы (https://developer.mozilla.org/en-US/docs/Web/JavaS...)

function escapeRegExp(string){
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
}
Ответ написан
@jsmittie
Пользователь не сможет ввести что-то эдакое, если на бэкенде экранировать небезопасные символы. :)
Указанное регулярное выражение для пароля не очень т. к. по данному паттерну можно ввести небезопасный пароль, например 123456789

/^[\S]{8,72}$/.test('123456789') // true

Лучше уж что-то более безопасное и банальное - как минимум одно число, как минимум одна строчная буква и одна заглавная.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы