Нещодавно ми перейшли до кращої стратегії зберігання паролів. З нею вийшло все хороше:
- Паролі зберігаються після переходу через bCrypt
- Під час створення облікового запису користувачеві надсилається посилання для активації, щоб підтвердити право власності на адресу
- Забули пароль без питання безпеки, на їх адресу надсилається посилання.
- Посилання закінчується через 24 години, після чого їм потрібно буде подати запит на нове.
- Якщо обліковий запис створено з наших співробітників, надіслати електронний лист із випадковим надійним паролем. Після входу в систему користувач повинен скинути його на те, що ми не знаємо, а це bCrypt'd.
Зараз це відповідає «найкращій практиці», але це значно збільшило наш обсяг підтримки від постійних користувачів, які все це не розуміють, вони просто хочуть увійти.
Ми часто отримуємо запит від користувачів, які скаржаться на:
- Неправильний пароль (від того, який потрібно скинути, вони часто вставляють його з пробілом в кінці). Вони кажуть нам, що вони використовують, але ми не можемо їм сказати, який їх фактичний пароль.
- Скажімо, вони не отримують електронний лист, який ми надсилаємо їм (активація, скидання тощо). Це часто не так, після багатьох проблем з усунення неполадок ми зазвичай з'ясовували, що вони вводили помилку в електронній пошті, що вони не перевіряють правильний обліковий запис електронної пошти або що він просто перейшов у папку зі спамом.
Ми, звичайно, не можемо спробувати це для них, оскільки у нас немає пароля. Ми реєструємо невдалі спроби, але також очищаємо пароль, який вони використовували, оскільки це, ймовірно, пароль, який використовується для іншого облікового запису, і ми не хотіли зберігати його у простому текстовому файлі журналу. Це залишає нам майже нічого, щоб допомогти їм, коли вони повідомляють про проблеми.
Мені цікаво, як більшість людей вирішують такі питання?