Рега: Каптча, Ссылка на почту, потом - СМС.
Авторизация: Каптча, Логин+Пароль и СМС с кодом 2FA.
Да, это был бы идеальный вариант
Однако заказчик требует отсутствия связки логин/пароль/почта.
1. Пусть готовит много разных капч для каждого запроса на отправку СМС.
2. При повторном запросе СМС (в течение N-часов с момента предыдущего) при реге, перед отправкой СМС просить вводить цель регистрации (IP страны + разговорный язык) и не пускать одинаковые цели за N часов с разных IP и стран, или когда несовпадает страна и язык.
3. При авторизации с использованием 2FA: проверяем пароль, если он верный и СМС количество в сутки на юзера не превышает установленный лимит - то пускаем. Иначе - говорим, что лимит исчерпан (+алерт админу на почту).