Я добавляю функцию «изменить пароль» в мою веб-игру http://ninjawars.net, которая в настоящее время имеет фиксированные (и практически никогда не меняющиеся) пароли.
Я хочу избежать этой путаницы, поэтому я хотел бы убедиться, что у меня есть базовые основы безопасности.
Взяв то, что я могу извлечь из того, как Facebook работает, несколько моментов, которые следует запомнить:
- Требуется старый пароль (конечно).
- Подтвердите ввод нового пароля дважды.
- выйти из учетной записи (только на всех других страницах, как-нибудь)?
- Требуется длина защищенного пароля и чтобы пароль соответствовал всем [введите различные критерии здесь] , требуемым для паролей в каждой конкретной системе.
- Требуется, чтобы новый пароль отличался от старого.
- Запретить несколько попыток смены пароля.
Facebook также:
- Требуется, чтобы новый пароль отличался от предыдущих паролей. (похоже на крайний случай)
Это только те политики, которые я могу выбрать из внешнего интерфейса системы учетных записей Facebook. Какие другие моменты безопасности я должен учитывать при предоставлении системы «смена пароля»?
Edit:
В моем конкретном случае я намерен быть относительно разрешительным с [вставить различные критерии] для того, какие символы должны вводиться в самом пароле. Мой сайт не является банком, если игрок хочет использовать пароль «password1», он должен ожидать, что его учетная запись будет передана его друзьям. МОЙ ФОКУС , с другой стороны, обеспечивает, чтобы мой сайт предотвращал любые возможности "враждебного захвата" из-за небезопасных действий в самой системе смены пароля .
Больше хороших моментов из ответов ниже:
- Отправить уведомление об изменении пароля на электронную почту пользователя.
- Сохраняйте смену электронной почты и смену пароля, каждый из которых зависит друг от друга.
- Используйте безопасное зашифрованное (https) соединение для таких изменений.