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