Как стать автором
Обновить

Авторизация пользователей за копейки: как бизнесу отказаться от дорогих SMS

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров13K
Всего голосов 14: ↑4 и ↓10-6
Комментарии53

Комментарии 53

Клиент начинает звонок по этому номеру. Звонок для пользователя бесплатный

Либо серверная часть на звонок не отвечает, и тогда операторы так же начнут блокировать такие номера на которые много различных номеров звонят но тот не отвечает.
Либо на звонок идет ответ и тогда за тарификацию кто то всё равно платит и цена может быть сопоставима с смс.

Хороший комментарий! Есть несколько нюансов:

  • FlashCall попал под меморандум который был подписан между сотовиками и ФАС. Цель данного меморандума- победить вызовы от мошенников. Где FlachCall официально блокировался «типо» по ошибке))) Но эту ошибку уж очень не хотели решать, а ФАС занял сторону большого игрока с которым нужно было решать глобальные вопросы.

  • В новой механике нет исходящих вызовов со стороны оператора, а есть входящие. Следовательно сам абонент выбрал действие -> сделать звонок для верификации. И тут получается, что не оператора блокируют, а каждого абонента который совершает данный вызов, а это уже физ. лица и массовость.

  • Ещё осталась надежда на честный и открытый рынок услуг. Где продвижение своей услуги происходит по принципу - сделаю дешевле и лучше, а не палки в колёса, чтобы потом сказать «а у них не работает, платите нам».

Я сталкивался с таким вариантом в прошлом: на телефоне нулевой баланс, оператор не даёт совершить звонок, альтернативного способа подключения нет вообще. В итоге подключиться невозможно.

Фактически ваше решение аналогично flash call и будет работать только до момента получения большого количества входящих и обращения на ваш сервис операторов.

Плюс вы сами отдаете свои номера, можно пееребором спарсить весь ваш пул.

Можно. А какое законное обоснование блокировать такие звонки? Нам сам клиент может передать свои существующие номера, а мы предоставим ему конечное решение. Мы не планируем прятаться или не показывать свои номера. Мы считаем, что должны работать в рамках закона. Все должны так работать.

А какое основание вообще блокировать номера, будь там не берущие трубку или говорящие 5 секунд? Кажется вся проблема в этом.

Если Вы про то, что кто-то играет не честно, то я соглашаюсь. Но если руководствоваться только этим, то остались бы мы сейчас ещё в каменном веке. Дорогу осилит идущий ;)

Подозрительная активность. Фактически коллеги дополнительно нагружают сеть оператора для оказания коммерческих услуг не платя за это деньги. Оператор не мать тереза и оборудование не для этого обновляет.

Ну да и торренты нагружают оборудование поэтому давайте таких пользователей отключим. Специально для этого телекоммуникационная деятельность лицензируется, чтобы таких хитроумных наказывать, и ситуации этим оказываю услугу, этим нет не было.

Ваше взаимодействие с оператором регламентируется договором, где есть пункт о том что оператор может заблокировать номер если увидит подозрительную активность. Именно по этой причине оператор блокирует номера sms и call бомберов, спам обзвонщиков и так далее, без судебных и прочих разбиательств в автоматическом режиме.

Мы знаем проблему про Call бомберов. Это прям проблема проблема! На своей сети данная проблема решена на 100% как только мы поняли над чем работать. Но поняли об этом через третьи руки, на примере SMS бомберов, а содействия (примеров) нам никто не предоставил. Метод описанный в статье полностью ликвидирует их, им не интересно указывать номер на который нет целевого действия.

Подождите, подождите! Вот у меня в гаражном кооперативе шлагбаум. Куча звонков на него идет (на симку модема), а он "трубку" и не берёт... Никто ж его не блочит.

Там воткнут тариф iOT и оператор знает, что будет идти трафик соответствующий. А именно - звонки с ограниченного списка повторяющихся номеров.

Клиент начинает звонок по этому номеру. Звонок для пользователя бесплатный.

Если клиент не в роуминге.

Не знаю, как у вас сейчас, но в апреле 2023, при звонке АТС сбрасывала звонок не сразу, а через 1 секунду звонка (МТС – 85 руб., Тинькофф – 15 руб.)

а зачем вобще привязывать пользователя к номеру телефона? Есть же например абсолютно бесплатный TOTP, и работает даже там где звонок или смс невозможно совершить.

А как тогда собирать номера клиентов и играть в профилирование?

Домохозяйкам TOTP сложно понять

Зато они хорошо знают, что лучше не набирать неизвестные номера, к тому же все остальные приложения/сайты не просили их это делать.

Да я собственно тоже считаю, что не будут они никуда звонить.

Альтернативой смс могла бы стать доставка через мессенджер, но тут тоже всё не просто. Единого мессенджера нет, а в ряде мессенджеров нет штатных механизмов доставки бизнес уведомлений.

В Китае, насколько я знаю, wechat решает все проблемы.

В России некоторые конторы уже вполне себе считают что вправе проверять есть ли на указанном пользователем аккаунте — ВКонтакт или Телеграм и слать туда. Пользователь якобы согласился на это когда номер телефона давал.
У Вконтакта вообще спецапи для этого есть и через него кое кто даже чеки шлет (про которые в законе даже прописано что можно слать по смс но ФНС объяснила что можно и в мессенджеры).

Надо понимать очень важный момент: Flash Call, Voice Code и CallPassword ID имеют очень серьёзные идейные, архитектурные и технические уязвимости. Разные компании разного размера пытались внедрить такие подходы, это приводило к стабильным проблемам.

Любой разработчик или архитектор, который внедряет такую технологию без полного понимания, что и зачем он делает, должен понимать, что он расписывается либо в том, что ему и сервису наплевать на данные пользователей в нем (или на то, кто будет отвечать за действия злоумышленника от имени пользователя), либо в том, что разработчик - опасное некомпетентное существо, которое не способно подумать и почитать материалы, но лезет интегрировать неизвестную ему нестандартную технологию.

Именно так!

каждое SMS-сообщение стоит порядка 3–3,5 рублей. 10 лет назад оно обходилось отправителю в 10 копеек

А чем это оправдывается, такой кратный рост аж в 30 раз или на 3000%?!

Расходы у мобильных операторов ведь не в тридцать раз за десять лет выросли?

Зато доходы от СМС с появлением мессенджеров упали...

Плюс дядечка не знает, что нельзя приравнивать обычных людей и КОРПОРАЦИИ. Например если для меня отравить СМС стоит 10р, то для того же зеленого полосатого стоит 1копейка :) (ну так во всяком случае было до недавнего времени)

Для клиента оператора. Во сколько обходится оператору, я не в курсе. Пардон не подумал, что зелёный полосатый может ассоциироваться с мегафоном :)

  1. Закон Яровой

  2. Стоимость смс это в т.ч. и защита от sms спама

  3. Курс доллара

  4. Инфляция

  5. Все общение ушло в интернет

  6. Дополните сам

Четвёрку можно понять почему идёт рост цен, ещё много чего можно написать в 6 пункте.

Но есть не только их бизнесы, есть много других, которые хотят срезать расходы. А получается так, что технически блокируя другие решения, они провоцируют платить только им, что с точки конкуренции не справедливо.

Я ещё раз подчеркну, что действия большой четвёрки понятны им и в правду тяжело.

Закон Яровой и курс доллара тут не в тему, так как эта проблема глобальная.

С учетом того, что сим-карты всяких шлагбаумов, получающих по 50+ flash-звонков в день, не блокируют, а смена номера вероятно не является чем-то сложным со стороны информационной системы, выглядит вполне годно.

Однако UX при необходимости набирать каждый раз новый номер может подкачать.

Спасибо за статью.

Есть еще вариант - это заставлять самого пользователя отправлять СМС с кодом на номер сервиса. Аналогично как это сделано в KaKaoTalk.
За СМС платит пользователь (или не платит, если подключен пакет СМС), сервис не платит ничего (только обслуживание номера для приема СМС).
Из минусов - если авторизоваться необходимо на мобиле под номером другого телефона, то вручную переписывать содержимое СМСки - то еще занятие. А если мобила двухсимочная, то еще и с правильной симки суметь отправить смс.

Господа, активно минусящие. Хоть бы писали что не так!

Заставлять пользователя слать смс? Сервис должен обладать огромной ценностью для него…

Чем это принципиально от ситуации "пользователь звонит по указанному номеру" ? Тыкаешь кнопку в приложении, открывается приложение для отправки смс где уже все заполнено и надо только нажать кнопку отправить. Для сайтов, скорее всего, такое не прокатит (но это не точно, СБП из браузера же как-то запускает приложения банков, значит и приложение смс запустить можно)

И в том и в том случае пользователю необходимо совершить какое-то действие, которое с высокой долей вероятности будет бесплатным для него (наверняка есть тарифы без пакета смс в комплекте, но большинство абонентов все-таки с тарифом с пакетом смс имхо. Хотя я не оператор и статистики такой у меня нет, я могу и ошибаться)

А по поводу ценности сервиса... Ну для какого-нибуть не уникального сервиса это так, часть пользователей скорее всего уйдет к конкурентам. Но с тем же мессенджером скорее всего прокатит. Взять тот же условный телеграм. Если он сделает авторизацию через отправку смс - много ли пользователей с него уйдет? При том что большинство пользователей эту смс отправят один раз при замене телефона.

От «пользователь звонит» - принципиально ничем, оба способа - гадость, с моей точки зрения. Я и смс в целом, как средство аутентификации недолюбливаю ни в каком виде

Иногда требуется не аутентификация, а подтверждение владением конкретным номером телефона. И что-то кроме звонка/смс тут не придумать.

Чем?
Ценой например.
Не на всех тарифах СМС вообще включены в пакет.


Или тем, что андроид вполне может и подсказать пользователю что это денег стоит. Или задать вопрос какой программой отправлять, потому что например скайп — тоже умеет отправлять SMS (но вот не факт что она с номера пользователя придет).


Тем что пользователь может посещать сайт с десктопа или планшета где нет сотового модуля (либо он хочет регистрацию с другим номером).

Везде учтиво так оговорены плюсы и минусы, но как доходим до FlashCall так только плюс - это дешево. А тут потенциально аутентификация с FlashCall будет растягиваться на 1-2минуты. Это ж надо забить номер (без ошибок), сделать вызов, дождаться когда страница обновится (ибо это единственная гарантия что ваш вызов принят и обработан). Ну и наконец, операторы могут и эту фишку зарубить, когда она распространится. Никто ж им не платит за это, а вызовы надо обслуживать.

Я лично за ОТР, там хоть опечатки при вводе не так критичны. Ну и менеджер паролей наше все

Согласен, что скорость верификации это важный момент. Для совершения вызова не придётся переходить в звонки. В приложениях это копка зелёного цвета «позвонить», замена кликабельного номера телефона. Установление соединения 4 сек., + 2 сек., чтобы отправить данные, перезагрузить и пустить.

На компьютере это QR код для сканирования. Далее всё автоматом.

Процедура занимает меньше времени чем получить СМС или звонок и указывать код.

+есть ещё решение, где пользователю свой номер предварительно не нужно вводить, только нажми кнопку и всё. Мы увидели номер, передали его дальше, а сервис пускай сам решает новый это клиент или пустить его в существующий аккаунт.

Не будут пользователи в большинстве своем звонить куда-то. Ввод такой авторизации приведет к отвалу клиентов на этом этапе. Я бы точно не стал внедрять это в своих сервисах.

А чего вы пристали к этой авторизации через телефон? Есть же много бесплатных способов. Некоторые сервисы отправляют код в мессенджеры (Ватсап/Тг есть почти у всех). А мне вообще больше всего нравится способ с отправкой кода на email. При этом если вам надо верифицировать номер телефона то можно это сделать разово при регистрации или потом в личном кабинете. А саму авторизацию завязать на отправке в мессенджеры или на почту.

Отправка кода в мессенджеры не бесплатная. Но можно и туда код отправить, только это уже верификация не пользователя, а устройства где ранее он установил данный мессенджер + доступ может получить не сам пользователь, если данный мессенджер уведут. Но для большинства сервисов это не значительные минусы, по этой причине они пытаются доставить код туда, если не получилось, то используют классические способы.

e-mail удобен для пользователя, но для сервиса нет. Много одноразовых e-mail + телефон в большинстве случаев всё равно потребуется и его нужно будет подтвердить.

Но телефон, как я сказал, достаточно разово подтвердить. А каждый раз не обязательно. Как самый известный пример Headhunter использует такую связку. При авторизации код отправляется именно на почту. А телефон уже подтверждён ранее.

Всё правильно пишите, его и не нужно каждый раз подтверждать. Верификацию можно пройти один раз, далее авторизация по логину и паролю, автовход по ранее использованному устройству (для приложений), запрос на e-mail и т.д.

Есть электропочта. И только так надо. А понаделали разной ерунды вокруг телефонных номеров. Не все дела идут без электропочты в нашем деле. Указал свою почту, получил на неё код и пошёл авторизоваться или временной ссылкой из почты. По-человечески получается.

На телефон завязано так много стало потому что телефон есть у большего количества людей и пользуется ими активнее, чем почтой. Много людей у кого новый телефон - новая почта (кто же помнит пароль от старой), а вот номер телефона - переносится.

Это мы тут привыкшие к почте)

А условный Google Authenticator для кого разрабатывали? Да и по email можно сделать всё это.

+1 ! Тоже хотел спросить про такой способ авторизации через ПО типа Google Authenticator, чем он плох ?

А еще есть Multifactor - привязываешь телефон с соотв.софтом, а после,когда надо авторизоваться в сервисе, на телефон приходит пуш и просто нажимаешь "allow" и никаких кодов вводить не надо. У google такое тоже реализованио - можно для входа в аккаунт просто нажать "да" на любои устройстве.

И еще хотел обратить внимание на то, как сделано в вацапе и телеге подключение десктопных клиентов. Через сканирование QR-кода в приложении. Очень удобный и перспективный способ ИМХО. Было бы круто, если была бы такая широко используемая прога, через которую можно было бы так авторизоваться (типа Google Authenticator). Сервис отображает тебе QR-код, ты сканируешь его этой прилажухой и вуаля - паролей помнить не надо, коды вводить не надо. Одни плюсы. Ну бэкапить надо - окей.

Автор, видимо, забыл упомянуть один момент... Стоимость услуги у данной компании на самом деле да, копеечная, но есть минимальная сумма, которую необходимо оплачивать ежемесячно. Абонентская плата 2500 руб. И неважно, истратил ты её за месяц или нет, она все равно спишется со счета. И при условной авторизации 10-20 пользователей в месяц получается ну очень уж дорогая авторизация! Пробовали данный сервис, отказались. Нет у нас такого количества авторизаций чтобы это оказалось реально выгодным...

Все эти способы больше не для авторизации, а для верификации владения номером. Но ребята из ньютел до сих пор не определились со своей тарифной политикой, цен на сайте просто так не найти, высылают индивидуально. Меня удивил ценник, он сопоставим со стоимостью flash call, и не на порядок дешевле смс.

Даже для небольших задач ( около 1000 верификаций в месяц) дешевле легально купить номер у сип оператора (он обойдется где то в 500 руб в месяц) и запустить freeswith/asterisk которые будут прекрасно справляться с задачей верификации владения номером. Более того это останется работоспособным при нагрузке в несколько тысяч верификаций в месяц, что в данном решении опускает конечную стоимсть одной верификации до уровня 0.1-0.5 рубля.

Да, можно так сделать, как Вы описываете. При условии, что кол-во не большое и есть необходимые знания, чтобы это реализовать и в дальнейшем поддерживать. А так да, очень рабочий вариант.

И ещё один момент. После всяких лотерей по телевизору, как убедить пользователя, что это не звонок на премиум номер с тарификацией 300 руб/мин?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий