Запрещение символов в пароле?

Действительно ли там что-то является особенным о символах, которые должны быть позволены/не позволенные в пароле?

Я храню пароль в дб, хешировал/солил, и используйте PDO для предотвращения против инжекции. То, что я делаю достаточно? Недавно я столкнулся с системой, которая запретила много символов, не помните всех их, но каждый был амперсандом &. Они делали его по причинам инжекции антибазы данных, или есть ли что-то еще, что я пропускаю? Символы пароля должны быть ограничены определенным набором символов или никакой потребности?

8
задан cooper 3 July 2010 в 08:58
поделиться

6 ответов

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

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

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

Простое ограничение скорости в системе входа (например, отказ в доступе на 15 минут после 3 неудачных попыток входа) снимает угрозу перебора гораздо более элегантно.

Не обязательно соглашаться с этим на 100%, но я нашел этот провокационный документ на эту тему от Microsoft Research очень интересным. До свидания, и спасибо за внешние эффекты: The Rational Rejection of Security Advice by Users

Из аннотации:

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

10
ответ дан 5 December 2019 в 10:39
поделиться

Когда я ввожу пароли, я обычно предпочитаю писать более длинные предложения, которые я могу запомнить, вместо p "% & / k1 или тому подобное.

Поэтому убедитесь, что вы позволяете своим пользователям писать пароли длиной более 10 знаков. Меня всегда расстраивает, когда я вынужден вводить короткий пароль со специальными символами вместо более длинного, который был бы более запоминающимся и безопасным.

3
ответ дан 5 December 2019 в 10:39
поделиться

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

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

2
ответ дан 5 December 2019 в 10:39
поделиться

Я запрещаю только символы, которые нельзя набрать на стандартной клавиатуре. Нет причин, по которым пользователь не может выбрать безопасный пароль из 26 прописных и строчных букв, 10 цифр и 20 символов.

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

0
ответ дан 5 December 2019 в 10:39
поделиться

Единственное, что я запрещаю / удаляю в паролях - это пробелы, нет причин запрещать что-то еще.

2
ответ дан 5 December 2019 в 10:39
поделиться

Не связывайтесь с паролем пользователя.

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

В качестве примеров я привел дурацкие правила, такие как ограничение паролей до 4 цифр (!!!), только буквенных символов (az), а также некоторые академические веб-сайты, которые молча усекают пароли до 10 символов при регистрации, а затем перестают работать, когда вы пытался войти с длинным паролем.

0
ответ дан 5 December 2019 в 10:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: