Недавно мы перешли на более качественную стратегию хранения паролей, в которую вошли все хорошие вещи:
- Пароли сохраняются после прохождения через bCrypt
- Пользователю отправляется ссылка на активацию при создании аккаунта для подтверждения владения адресом
- Забыли пароль без секретного вопроса, ссылка отправляется на их электронную почту.
- Срок действия ссылки истекает через 24 часа, после чего им нужно будет запросить новую.
- Если учетная запись создается нашими сотрудниками, отправляется электронное письмо со случайным надежным паролем. При входе в систему пользователь должен сбросить его на то, чего мы не знаем, и это bCrypt'd.
Теперь это соответствует «лучшей практике», но это значительно увеличило количество запросов на поддержку от обычных пользователей, которые не понимают всего этого, они просто хотят войти в систему.
Мы часто получаем запрос от пользователей, которые жалуются на:
- Неверный пароль (из того, который им нужно сбросить, они часто вставляют его с пробелом в конце). Они сообщают нам, что они используют, но мы не можем сказать им, каков их настоящий пароль.
- Сказать, что они не получают письмо, которое мы им отправляем (активация, сброс и т. Д.). Это часто не тот случай, после долгих поисков неисправностей мы обычно выясняем, что они опечатали в электронной почте, что они не проверяют правильную учетную запись электронной почты или просто попали в папку со спамом.
Мы, конечно, не можем попробовать это для них, поскольку у нас нет пароля. Мы регистрируем неудачные попытки, но мы также очищаем пароль, который они использовали, так как он, вероятно, будет паролем, используемым для другой учетной записи, и мы не хотим хранить его в виде простого текстового файла журнала. Это оставляет нам почти ничего, чтобы помочь им, когда они сообщают о проблемах.
Мне интересно, как большинство людей решают подобные проблемы?