Подтвердить что ты не робот

Должны ли пользователи вводить пароль с пробелом в начале или в конце?

Должны ли пользователи вводить пароль, например "12345" или "12345", - пробел в начале или в конце? Или вы обрезаете пароль, чтобы удалить ведущие или конечные пробелы, потому что это может привести к ошибке ввода.

4b9b3361

Ответ 1

Да, они должны.

  • Это раздражает меня до бесконечности, когда люди решают, как должен вести себя мой пароль, особенно когда это бессмысленно. Я хотел бы более 8 символов, пожалуйста.
  • Вы должны указывать пароль, поэтому максимальные длины символов и пробелы в конце не имеют значения.

Нет, вы не должны обрезать его.

  • Вам требуется, чтобы пользователь дважды вводил пароль (при его создании) для устранения ошибок ввода. Поэтому пространство не имеет значения.

Ответ 2

Позвольте мне рассказать вам историю.

Мне нужно было создать учетную запись на сайте электронной торговли, поэтому я запустил свой генератор случайных паролей, чтобы сделать пароль с 8 символами верхнего/нижнего/номера/пунктуации, дважды вставил его дважды, чтобы подтвердить его, завершив регистрацию со всеми моими личными и сохранил случайный пароль в локальном PGP-зашифрованном файле для последующего использования.

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

НЕ обрезать или дезинфицировать пароли пользователей.

Ответ 3

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

Хорошим примером того, что я недавно столкнулся, был с коммутатором 3Com. Веб-интерфейс позволил мне изменить пароль администратора, но не предупредил меня, что пароль ограничен восемью символами. Я ввел пароль длиной более восьми символов. Когда я попытался войти в систему после изменения, он просто отклонил мой пароль. Однако, если я использовал только первые восемь символов, мне удалось войти (пробная версия и ошибка с моей стороны, а не забава).

В наши дни пароли не выглядят так, как они привыкли. Например, мои пароли часто выглядят так:

Man, this program is really ticking me off!

Ответ 4

В любом случае вы должны проверить пароль с полем подтверждения. Если они делают опечатку дважды - тогда вы, надеюсь, забыли пароль или функцию reset.

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

Ответ 5

Момент принятия такого решения - это тот момент, когда вы начинаете идти по пути микроуправления (в данном случае у вас есть пользователи).

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

Ответ 6

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

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

Ответ 7

Пробел - это обычный символ пароля, и его не следует удалять.

Так как вы, вероятно, используете пароль для хранения его в базе данных, пространство будет рассматриваться как любой другой символ.

Ответ 8

Мне все равно. До тех пор, пока все, что вы делаете с паролем, когда оно будет установлено, также будет сделано с ним при вводе позже. Trim, truncate, change case, соль, hash, что угодно - просто делайте это последовательно.

Предположительно, вы все равно не храните фактический пароль, поэтому...

Ответ 9

Поскольку это плохой juju для хранения пароля в виде текста, нет необходимости обрезать() пароль, так как он будет немедленно удален.

... на аналогичной ноте, могу ли я исправить, полагая, что пароли не должны быть регулярным, для проверки на sql-инъекцию, поскольку они будут хешированы и не вставлены в виде обычного текста в базе данных?

Ответ 10

Это нормально для пароля, чтобы содержать его, как уже упоминалось, но я бы добавил, что при создании новых случайных паролей (скажем, для разумной системы потерянных паролей reset) вам следует избегать генерации тех, которые содержат такие сложные символы.

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

Ответ 11

Я голосую за: Нет, они не должны:

Там большое преимущество не позволять пользователям использовать пробелы в начале и конце паролей, и это просто устраняет проблему, которая часто возникает, когда пользователь копирует и вставляет свой пароль (например, из электронная почта) и включает пробел, который не является частью пароля.

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

Я думаю, что применение этой политики при создании пароля решает больше проблем, чем создает.