На первый взгляд это кажется «плохой идеей», потому что вы позволяете кому-либо:
- подтвердите, что аккаунт существует
- подтверждение связи между именем пользователя и адресом электронной почты
Если имена пользователей и почтовые адреса обрабатываются как «конфиденциальная» информация на вашем сайте и еще не переданы, я бы не стал использовать функцию поиска имени пользователя по электронной почте. Фактически вы понижаете планку безопасности на 1 фактор:
- В настоящее время для поиска имени пользователя требуются как адрес электронной почты, так и полные учетные данные пользователя (чтобы они могли получить ответ)
- После изменения все, что им нужно, это почтовый адрес.
Возможно, что еще важнее, вы создаете проблему конфиденциальности, которую необходимо будет устранить (как упомянуто @SoapBox).
Но на самом деле ваш сайт может уже использовать «имя пользователя» в качестве публичного дескриптора или псевдонима. И у вас уже могут быть пользователи, публикующие свою электронную почту в своих профилях. В этом случае поиск имени пользователя не приводит к утечке новой информации, и вы можете утверждать, что новые проблемы безопасности или конфиденциальности не возникают.
Это сделало бы все это слишком легким, как публикация руководства по детям сценариев на Как взломать мой сайт :
- Получите список адресов электронной почты от вашего предпочтительного поставщика
- Зайдите на мою страницу самообслуживания для перевода имени пользователя и просмотрите список (простой скрипт для этого)
- Запуск атаки по словарю на сайт с использованием результирующего списка имен пользователей
Итог - я думаю, вам лучше оставить эту функцию как есть.