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

Удобство


  • Как правило, сейчас каждый пользователь интернета имеет несколько email адресов (личный, рабочий, тот который он забыл и т.д). Желательно что бы у всех адресов были разные пароли от 8 символов. Со временем, пароли забываются, особенно когда пароль сохранен в браузере и при входе в почту он заполняется автоматически.

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

  • На каждом ресурсе так же желательно использовать разные пароли. В случае когда пользователь не может зайти на свой любимый ресурс, приходится выполнять очередную процедуру по восстановлению пароля: заходить в почту (вспоминать пароль от почты, если вход происходит, например, с рабочего места) искать письмо, ходить по ссылкам восстановления\подтверждения, и опять придумывать новый пароль для сайта. Который потом опять будет успешно забыт.

  • Почтовый ящик превращается в свалку уведомлений, акций, предложений, прочей рекламы с ресурсов, на которых вы зарегистрированы. Среди этого можно не заметить важного письма, например. Да это даже просто отвлекает!

Безопасность


  • Безответственный подход к использованию почтового ящика может стать причиной утечки пароля от него.
  • Фишинговые письма могут стать причиной утечки пароля от ресурса, под который замаскировано гнилое письмо
  • email — это как паспорт в интернете: по нему можно собрать определенную информацию из открытых источников и использовать ее в разных целях.
  • Получив доступ к email, можно получить доступ ко всем ресурсам, на которых сидит пользователь и к другим email адресам
  • Почтовые сервисы и рекламные компании знают о вашей жизни все

К сожалению, нет такой же популярной, простой и удобной альтернативы, как с точки зрения внедрения, так и с точки зрения использования. Есть всякие «технологии открытого входа», они несколько удобнее, но они тоже требуют email адрес, и так же имеют ряд недостатков!

Ближе к делу


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

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

Пользователь, зайдя на сайт, на котором у него нет аккаунта, должен будет добавить в свой Telegram бота этого сайта и запросить у него доступ(например нажав на кнопку «Дай мне пароль») Для тех, кто не пользуется Telegram и не понимает, о какой кнопке идет речь, прикладываю скрин:

image

В качестве примера, я реализовал схему с одноразовым паролем, которая выглядит следующим образом:

Бот генерирует одноразовый пароль для входа по вашему запросу.

Чтобы войти на сайт, надо заполнить всего одно поле — «пароль»

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

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

Удобство такого подхода заключается еще в том, что Telegram доступен на всех платформах, и искать бота не нужно, достаточно просто пройти по ссылке, которая указана на форме авторизации. Как это выглядит в живую можно посмотреть тут: https://x07.herokuapp.com/login

Эту схему, конечно же, можно сделать более практичной, надежной и безопасной.

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

На случай, если не окажется под рукой Telegram'а, или вдруг Telegram будет не доступен, или вы просто не хотите каждый раз туда лезть, то в БД можно сделать поле с постоянным паролем, по которому можно будет войти всегда. При этом заботливого бота можно научить оповещать вас о любом входе на сайт, если вы не запрашивали у него пароль.

Плюс ко всему, можно также добавить имя, которое используется в Telegram'е или любые другие поля на ваше усмотрение, хоть тот же email.

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

Придумать тут можно огромное количество вариантов реализации.

Плюсы такого подхода:

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

Минусы, куда же без них…

  • Через ботов тоже можно слать спам
  • Что происходит на серверах Telegram неизвестно, там так же может производится сбор и анализ ваших данных (может это не минус)
  • При большом количестве пользователей возрастет нагрузка на сервер где будет жить бот
  • В какой-то мере появляется зависимость от Telegram
  • Telegram может поменять или расширить свой API, что может позволить сайтам извлечь больше информации о вас, или наоборот сделать эту схему не жизнеспособной

Что вы об этом думаете? Будете ли вы внедрять в своих проектах такой способ авторизации?
Поделиться с друзьями
-->

Комментарии (88)


  1. hungry_ewok
    13.02.2017 11:01
    +7

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


    1. TimsTims
      13.02.2017 16:14
      -1

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


      1. hungry_ewok
        13.02.2017 16:36
        +1

        Дурная мода имеет свойство расползаться.


        1. TimsTims
          13.02.2017 17:27

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


          1. jetexe
            14.02.2017 10:42
            +1

            ага, а потом у меня в чатах будет 150 ботов для авторизации, ну нафиг


            1. TimsTims
              14.02.2017 11:06

              Можно сделать единого бота, и давать это как сервис recaptcha 3.0 :)


              1. jetexe
                14.02.2017 11:40

                Тогда этим должен заняться сильный игрок(Гугл, мозила, сам телеграмм), а не Вася Пупкин, который, в конечном итоге, сможет получить безграничный доступ к аккаунтам.


                1. tigervname
                  17.02.2017 11:00

                  А мне идея по душе — потому что долгое время пользовался Гуглом, пока он меня не кинул, вот просто удалил случайно аккаунт с телефона и вот тебе не восстановить никак, т.к. нет резервной копии, ни сохранённого ключа. Они хотя бы на Гугле там мини копии делали, что-бы в течении получаса можно было восстановиться, а вот фиг тебе.
                  Так что бот хоть и маленькая, но надежда на будущее и такие как Вася Пупкин в очередной раз показывают на сколько не совершенны сервисы гиганты в своих проектах, что есть ещё круче творения и задумки.
                  Не знаю пытался дозвонится до Гугла, что-то не получилось…


            1. v-oz
              14.02.2017 11:54

              +100500
              Для них нельзя будет создать отдельного категории/каталога, как в почте. А ещё останется куча ретроградов, использующих «устаревшие» методы и тогда вообще наступит коллапс в голове юзера — где же всё это УГ хранится?
              Пользоваться надо менеджером паролей. На всех платформах и девайсах. А базу синхронизировать git'ом
              е-ящиков можно иметь сколько угодно в т.ч. выделенный под регистрации.
              месенджеры приходят и уходят, а е-почта была, есть и будет есть.
              чем взрослее становишься, тем больше начинаешь любить почту и её возможности взвешенной переписки.

              Остапа понесло :)


  1. scronheim
    13.02.2017 11:11
    +4

    Получил пароль, ввел его на сайте, а мне тут же скзали что «Истек срок действия пароля». Да и вообще, завязывайте Вы с этими авторизациями через месседжеры. А то создается впечатление, что Вы из тех, кто придумал авторизацию через мобильник


    1. cat_baxter
      13.02.2017 15:55
      +1

      тоже самое — истек срок действия пароля


    1. monx94
      13.02.2017 19:21

      У меня со второго раза сработало


  1. kAIST
    13.02.2017 11:14
    +10

    Про OAUTH забыли? Сейчас все больше и больше авторизацию через этот протокол делают.
    Для каждого сайта добавлять еще и бота? Сколько ботов будет висеть в списке? Да и лишних телодвижений очень много, даже по сравнению с обычным подтверждением email.


    1. QDeathNick
      13.02.2017 12:36
      -2

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


      1. x07
        13.02.2017 12:56
        +1

        Речь не идет о том, чтобы отказаться от традиционных способов авторизации, это как дополнение к ним. И этот способ можно упростить


      1. QDeathNick
        15.02.2017 17:12

        Может кто-то из минусующих объяснит, что именно им не понравилось в моём предложении?


    1. x07
      13.02.2017 12:37
      +1

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


      1. wladyspb
        13.02.2017 18:40
        +3

        В большинстве случаев, если человек не регистрируется в соцсетях, то и телеграму он свой реальный телефонный номер не выдаст. Так же, в большинстве случаев, нужно смотреть за ЦА сайта. Если ЦА — молодёжь, регистрация через гугл\фб\вк будет оптимальна. Для старшего поколения надо добавить вариант авторизации через email — они обычно не доверяют кнопкам «авторизоваться через». Оптимально иметь все варианты в наличии — кто-то не любит заполнять формы и предпочитает регистрацию в 1 клик, кто-то предпочитает на левых сайтах регаться с запасного емэйла — надо учесть пожелания всех.


      1. SandroSmith
        13.02.2017 18:43
        +3

        Лично я на fb зарегистрирован исключительно для того что бы авторизироваться на сайтах. Как соц сеть он мне ни в одно место не упёрся. Если кто-то пользуется и не хочет светить — заводим ещё один акк там для этих целей. Ну или в твиттере (зачем он ещё нужен?).


      1. avost
        14.02.2017 00:30
        +1

        А что делать если человек не пользуется соц.сетями, а если и пользуется, то не хочет привязывать свой личный аккаунт соц.сети к непонятному ресурсу?

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


        1. x07
          14.02.2017 09:29
          -1

          Информация, которую передает телеграмм, минимальна. ID,username — и то если он заполнен. Никакой другой больше информации бот не передает без вашего участия. Я написал статью, не «замена традиционных способов» а дополнение! Нет телеграмма, пользуйтесь соц сетями. И кстати, если рассмотреть создание нового аккаунта вконтакте, то без мобильного телефона у вас ничего не выйдет. Если номер уже привязан к 1 аккаунту, то на этот же номер зарегить новый акк не выйдет. И получается что нужен второй телефон, на котором можно успешно поставить телеграмм для «левых сайтиков».


          1. avost
            14.02.2017 10:50

            И кстати, если рассмотреть создание нового аккаунта вконтакте, то без мобильного телефона у вас ничего не выйдет.

            Ну, есть же фейсбучек, он и более универсален. Или там тоже сейчас телефон обязателен?
            Не знаю, я вот, положа руку на сердце, скорее через фейсбучек зарегистрируюсь, чем через телеграм. А ещё более вероятно, если ресурс с
            левый, просто зарегистрируюсь с отдельной почтой типа мейлрушного анонимайзера. А если совсем левый — с одноразовой почтой.


  1. handicraftsman
    13.02.2017 11:35

    Я против привязки к телеграму, особенно с учётом того, что в РФ (правда, сам живу в Украине) для получения номера требуется пасспорт. И ещё неизвестно, будет ли такая система выдавать номер сайту, где проходит аутентификация.


    1. QDeathNick
      13.02.2017 12:38

      Ничего не требуется, до сих пор свободно продаются симки.
      Но, если нет привязки к вам, то и уведут у вас это в два счёта.


    1. ilnuribat
      13.02.2017 13:50
      +1

      по умолчанию телеграм не показывает номер боту
      Бот должен попросить дать ему номер, и пользователь своими руками должен ему его дать


  1. sashabeep
    13.02.2017 11:41
    +2

    Подумалось мне, что самая очевидная проблема — в том, что пароль надо копировать и вставлять.


    1. pessom
      13.02.2017 11:52
      +2

      Так можно сразу же генерировать уникальную ссылку для входа на сайт.


      1. sashabeep
        13.02.2017 11:59
        +2

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


        1. LestaD
          14.02.2017 09:30
          +3

          Откройте Google Authenticator


          1. sashabeep
            14.02.2017 10:04

            Это все равно немного не то, потому что не может явно идентифицировать человека, только девайс


            1. maxocklze
              16.02.2017 08:49

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


      1. worldxaker
        13.02.2017 22:26
        +3

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


      1. OKyJIucT
        14.02.2017 09:51

        Парсер ссылок (который делает скриншоты) переходит по ссылке, и для юзера она уже не действительна, а парсер авторизовался.


  1. fsou11
    13.02.2017 12:18

    Каким образом осуществляется привязка пользовательских данных / идентификация пользователя между сессиями (вводами разных кодов)?


    1. x07
      13.02.2017 12:44
      +2

      Конкретно в моем примере, когда пользователь, в телеграме жмет на кнопку «дай мне пароль», от бота приходит id пользователя в телеграме и его юзернейм(если он заполнен), в БД заносится сгенерированный пароль где telegram_id = тому что прислал бот. Далее, когда пользователь вводит пароль, в сессию заносится id пользователя.
      Пример имеет чисто демонстративный характер


      1. fsou11
        13.02.2017 12:56

        Т.е. предполагается, что id пользователя в телеграмме всегда будет одним и тем же и именно он является уникальным идентификатором пользователя?


        1. x07
          13.02.2017 13:02

          В данном примере — да.


  1. TimsTims
    13.02.2017 12:31

    Можно еще проще — не присылать пароль, а сразу давать короткую ссылку. Как только пользователь по ней проходит, сервер это понимает и автоматически авторизовывает пользователя на компьютере. Почти аналогично это сделано в whatsapp web.


    1. x07
      13.02.2017 12:38
      +1

      Конечно можно, об этом я и написал в статье, что можно придумать много вариантов реализации


  1. AltairZ
    13.02.2017 12:46

    А почему не использовать deep linking?
    Я делал авторизацию и привязку аккаунта таким способом какое-то время назад.
    Пользователю в итоге нужно было нажать «Войти через Telegram» и ткнуть /start в боте


    1. x07
      13.02.2017 12:49

      Ваш способ еще лучше!


  1. planarik
    13.02.2017 13:08
    +1

    Какое раздолье для спам-ботов!


  1. HatsuneAkeno
    13.02.2017 13:17

    Мне нравится идея, но немного другая реализация.


  1. Sovent
    13.02.2017 14:02
    -2

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


    1. x07
      13.02.2017 14:10

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


      1. worldxaker
        13.02.2017 22:28
        +2

        если андроид, то можно использовать plus там и по категориям все разбито и избранные есть


  1. vlreshet
    13.02.2017 14:11

    8 символов, цифры + буквы… Не маловато ли энтропии?


    1. x07
      13.02.2017 14:15

      Для демонстрационного примера, я думаю вполне годится)


  1. Minusator
    13.02.2017 14:15
    -5

    Идея нравиться, телеграм все больше становиться популярным. Но слово «унизительная процедура» не нравиться. Чем она унизительная, не совсем понял? Второй момент, мне нужно взять телефон в руки или программу вконтакте открыть. У меня на сайте, чтобы получить доступ ко всему функционалу достаточно нажать на одну кнопку соц. сети.


    1. TimsTims
      13.02.2017 16:15
      +2

      tsya.ru


    1. ainu
      13.02.2017 16:35
      +1

      1. NULL_byte
        13.02.2017 17:07
        +2

        7


  1. VovanZ
    13.02.2017 17:34

    Когда-то давно, мне приходила в голову такая же идея. Но я погуглил и нашёл готовую реализацию, поэтому решил не переизобретать велосипед :)


    1. VovanZ
      13.02.2017 17:40

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


    1. x07
      14.02.2017 09:53

      Спасибо за линк.


  1. drfill
    13.02.2017 17:46

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

    А вот если наоборот:
    1. Пользователь вводит свой логин на странице (конечно используется TLS)
    2. Нажимает кнопку войти
    3. В телеграмме получаем запрос на вход на сайт, с информацией(и предупреждением) кто и откуда пытается зайти
    4. подтверждаем простой коммандой, a-ля /letmein
    5. Профит!

    Для простоты можем слушать ивенты на фронте, кот. сообщат когда подтверждение пришло через мессенджер.
    Если честно то ранее уже в комментариях указывали OAUTH/OAUTH2, так что я думаю лучше использовать именно последнее для публичных ресурсов. Другое дело реализация скажем для «интранета», где основное общение между коммандами реализовано через Telegramm.


    1. VovanZ
      13.02.2017 17:57

      с информацией(и предупреждением) кто и откуда пытается зайти

      Как вы себе это представляете?
      Предположим, я злодей и я пытаюсь зайти в ваш аккаунт на том же сайте, из того же места и одновременно с вами. (Сижу в той же кафешке что и вы, подключен к тому же вайфаю, подглядываю через плечо).
      С вероятностью 50% вы впустите меня, а не себя.


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


      1. x07
        13.02.2017 18:17

        Думаю что если при входе на сайт, генерировать, секретную куку\сессию\или еще какой-нибудь секретный идентификатор по которому можно опознать пользователя, и потом это сверять на сервере, то злодей, даже если увидит пароль и начнет вводить, он не сможет войти, так как секретная кука\сессия\или еще какой-нибудь секретный идентификатор не совпадут


        1. VovanZ
          13.02.2017 18:21

          Пожалуйста, перечитайте комментарий drfill и мой.


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


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


      1. drfill
        13.02.2017 20:21

        Во-первых я имел ввиду показать пользователю информацию, например из места по Геотаргетингу определенную, либо по GeoIP. UA браузера в человекочитаемом формате

        Во-вторых:
        Подглядывать нехорошо! :) а если так, то скажем доп. информация (тема для размышлений/brainstorm) должна максимально описывать тот вход с которым пришел пользователь… ну и чтоб он сам без внешних источников/специалистов определил, что это он, а не тот кто подсматривает.

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

        Кстати для информации x07, не для всех платформ реализован Telegramm клиент, например для BB10 его толкового нет вовсе!


        1. x07
          13.02.2017 20:33

          Самого BB воде тоже больше нет.


          1. drfill
            13.02.2017 20:45

            Боюсь что есть, и поддерживать они его будут еще ооочень долго. Там очень сильно все завязано на корп. сектор и гаверменты. А и недавно они прошли сертификацию в NIAP. Спрашивается зачем, если платформа мертва?!


        1. VovanZ
          13.02.2017 22:16

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

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


          показать пользователю информацию, например из места по Геотаргетингу определенную, либо по GeoIP.

          Вы уже забыли, что я сижу прямо за вашей спиной, на том же айпишнике? :)


          UA браузера в человекочитаемом формате

          UA передаётся при каждом запросе, да я и так прекрасно вижу, что у вас Firefox под Ubuntu (например).


          доп. информация (тема для размышлений/brainstorm) должна максимально описывать тот вход с которым пришел пользователь

          Как насчёт, сгенерировать случайный код и показать его и там и там? :)


          1. drfill
            13.02.2017 23:03

            Слишком много, но! Нет 100% защищенной системы, но есть некоторые меры которые позволят избежать таких вот ситуаций с кражей или уводом авторизации.


  1. reaferon
    13.02.2017 17:54
    +1

    Мне как пользователю какого-либо сайта это неудобно: открыть Телеграм, добавить канал, получить пароль. Регистрационные формы сейчас на 2-4 поля + автозаполнение полей браузером.
    Мне как владельцу сайта это на фиг не нужно, так как я получаю не полноценного пользователя, а какой-то телеграм-обрубок при пароле.


  1. AlexanderY
    13.02.2017 18:11
    +1

    >>Не нужно проходить долгую и унизительную процедуру регистрации на сайте, а потом лезть в почтовый ящик и искать там письмо либо с паролем либо со ссылкой на подтверждение регистрации.
    Проблема не в самой процедуре, а в том, как её реализуют 99% сайтов. Процедура регистрации может быть быстрой. Может не требовать перехода по ссылке. Т.е. ввел email и пароль — вошел на сайт. Всё, пользуешься.

    Самый главный минус предложенного способа — зависимость от стороннего сервиса. Всё остальное, что вы перечислили — тоже плохо, но не так критично.


    1. VovanZ
      13.02.2017 18:24

      Т.е. ввел email и пароль — вошел на сайт. Всё, пользуешься.

      Ввёл чужой email — настоящий владелец email получит сообщение о том, что этот email уже используется другим пользователем (при попытке регистрации).


      Ошибся при вводе email и забыл пароль — не можешь восстановить доступ к аккаунту никак.


  1. kajidooto
    13.02.2017 19:12

    уже изобрели. называется 2ух факторная аутентификация.


    1. x07
      13.02.2017 19:20

      Статья немного о другом. В 2ух факторной аутентификации, в качестве первого фактора везде email или номер телефона.
      В моем же примере, первого фактора нет. Вы сразу получаете пароль и входите по нему.


  1. susnake
    13.02.2017 22:08

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

    Не у всех есть аккаунт в соц.сети, мессенджер или телефон/смарт, для которого бы была бы версия этого приложения.

    Если я на своем сайте сделаю аутентификацию только через, например PIN BBMa с отсылкой на него пароля, Вы что сделаете? В 95% покрутите у виска, скажете «Чо за BBM?!» и уйдете.

    Если Ваш сайт/бложик посещают 1,5 анонимуса и Вы точно знаете, что они в случае потери доступа к смарту/приложению смогут аутентифицироваться — тогда да.
    Если у Вас сайт/блог с хорошей посещаемостью, то делать только такую функцию аутентификации и без каких-либо альтернатив — ИМХО, не самая лучшая идея.


    1. x07
      14.02.2017 09:36

      В статье речь идет не о замене привычных методов рег.\авторизации. Это дополнение к существующим способам.


  1. dmitry_dvm
    13.02.2017 23:45
    +1

    В чем прикол открыть на компе сайт, потом открыть на телефоне телеграм, найти где добавлять ботов, ввести имя бота, добавить, потом хз сколько шагов еще? Это не проще обычной регистрации, особенно если через oauth.


    1. deNULL
      14.02.2017 00:24

      Телефон доставать незачем — никто не мешает по ссылке перейти в веб-версию мессенджера (искать бота в этом случае тоже не нужно). А если сделать deep linking, как писали выше — то и пароль не нужно будет копировать/вставлять: немедленно после начала диалога с ботом пользователь будет авторизован. Регистрация буквально в три клика.


      1. dmitry_dvm
        15.02.2017 12:50

        Для этого надо быть залогиненным в веб-версии. Не думаю, что много кто залогинен в нее на рабочем компе.


  1. GriNAME
    14.02.2017 09:34

    Чтож мне идея нравится. Кто-то против. Но с другой стороны если ничего не придумывать, то и будет все на месте стоять. Лучше бы не критиковали, а дельные советы давали.


    1. istem
      14.02.2017 13:45

      Поддерживаю. «Нет пророка в своём Отечестве.»


  1. gearbox
    14.02.2017 12:34

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


  1. HeadMad
    14.02.2017 14:03

    К слову, у меня есть знакомая, которая входит в некоторые сервисы по восстановлению пароля через смс. Она не запоминает паролей и не парится по этому поводу. И я думаю, что есть такой класс людей.

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

    Но вместо отправки пароля по запросу в бесседе лучше действовать в обратном ключе: на форме входа отображать временный пароль, символов на 5. Пользователь вводит его в доступный ему месседжер, а дальше уже серверная часть получает извещение, от какого пользователя пришел пароль и заводит на него сессию и дает какие-то данные.

    К слову, удобно использовать глубокие ссылки телеграмма, или вконтакте (vk.me/username) чтоб не искать бота вручную.

    Понятное дело, использование такого способа авторизации, как основного, сейчас — это большая ошибка. Но в качестве дополнительной альтернативы, почему нет? Думаю, подобно тому как авторизация через соцсети сейчас стоит в одном ряду с email, так и этот способ сможет получить своё место под солнцем в будущем. Надеюсь в ближайшем.


  1. BigEl
    16.02.2017 08:51

    Мой внутренний параноик негодует.
    Человечество в край обленилось и отуп поглупело. Запомнить десяток своих комбинаций паролей уже сложно, не говоря про пароли типа «QWERTY», «123654» и подобные в любых их проявлениях. Про оригинальность уже и не вспоминаю.
    Как мне кажется все эти генераторы паролей все таки, где то хранят сгенерированные последовательности знаков, дабы исключить повторение в… ну скажем в короткие временные промежутки до завершения какого либо цикла. Ну или пока не кончатся все возможные варианты. А если это все где то хранится (Повторюсь, это мое предположение), то где то эту нехилую базу можно использовать в бруте паролей, учитывая что сейчас множество сервисов авторизации привязывает к логину номер телефона или адрес почты (и то и другое не сложно узнать, в сети каждый где то оставлял эти данные в свободном доступе, будь то объявление по поиску / предоставлению работы, покупке / продаже, соц.сети)
    Поправьте если не так. Обеспечение безопасности доступа к частной собственности (читай аккаунт в сети) — должно быть делом самого пользователя, а не сервисам, которые при желании могут собрать инфо о тебе и слить куда угодно…


    1. x07
      16.02.2017 09:18

      Нет не так. С кодом генератора паролей, используемого в моем примере, можно ознакомиться тут https://www.npmjs.com/package/generate-password
      Смысла складировать одноразовые генерируемые пароли нет никакого.

      дабы исключить повторение

      Во первых, в БД стоит констрейнт на уникальность, во вторых символов в пароле столько, что вероятность совпадения крайне мала, учитывается так же регистр, что увеличивает количество генерируемых вариантов.
      Обеспечение безопасности доступа к частной собственности (читай аккаунт в сети) — должно быть делом самого пользователя, а не сервисам, которые при желании могут собрать инфо о тебе и слить куда угодно…

      При желании, любой посещаемый крупный ресурс, может слить все пароли или хеш пароля, телефоны, логины и емейлы тому кто хорошо попросит.


      1. BigEl
        16.02.2017 09:25

        любой посещаемый крупный ресурс, может слить все пароли

        Собственно по этой причине к каждому сервису где я нахожусь используется индивидуальный пароль. Почти десяток адресов почты (за исключением пары адресов куда сыпется спам от сомнительных сервисов или одноразовых регистраций)
        В данном случае конечно все субъективно и уровень паранойи (если таковая имеется) у всех различный. Кому как, но лично мне как то спокойнее спится, если в сети как можно меньше инфо можно «накопать».
        PS: Не все так плохо, пока дополнительными одноразовыми симками не закупаюсь, но по возможности стараюсь находить аналоги интернет-сервисов, где не требуется верификация по номеру телефона.


        1. x07
          16.02.2017 09:44

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


  1. LiNNka
    16.02.2017 08:52

    В общем-то у Telegram есть крайне неплохой веб-клиент, который постоянно развивается вместе с приложением. То есть совершенно необязательно иметь телефон с платформой, поддерживающей Telegram. Я как-то раз в течение полугода пользовалась исключительно web-клиентом, так как ходила с телефоном-раскладушкой десятилетней давности. Что касается самой идеи: она крайне неплоха. Особенно в случае постоянных забываний паролей от почты. На множествах форумах и сайтах наверняка есть «умершие» подобным образом аккаунты юзеров, которые просто напросто не смогли восстановить доступ, благополучно забыв пароль от основной почты. По поводу использования номера телефона: не вижу в этом ничего плохого. Вспомните фейсбук или тот же vk. И там, и там номер телефона используется как привязка к аккаунту в случае утери пароля или же взлома. Лишних движений тоже особо не вижу: как пояснил автор, взаимодействие с ботом может быть только 1 раз при регистрации или восстановлении пароля, а далее пользователь установит свой пароль в настройках профиля. Тут уже по желанию.


    1. x07
      16.02.2017 09:32

      Номер телефона доступен только телеграму, как уже упомянули выше, бот не может без ведома пользователя получить его https://habrahabr.ru/post/321682/#comment_10067330
      так что волноваться тут не о чем.
      Я считаю, что это наоборот плюс, есть сайты, которые борются со спамерами, фейками, размножением аккаунтов, путем подтверждения регистрации по смс. Многие пользователи не хотят светить свой номер в интернете, но все равно это делают, потому что нет другого выбора. Если сайт окажется с гнильцой, то потом на телефон будет лететь смс-спам как минимум. В случае с телеграммом, номер телефона останется в тайне, ресурс не сможет его узнать, но зато, для ресурса это будет означать что пользователь с определенной долей вероятности настоящий. Ведь пойти купить левую симку сложнее, чем пойти зарегить 10 новых емейл адресов.


      1. QDeathNick
        16.02.2017 12:49

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


        1. x07
          17.02.2017 11:21

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


          1. QDeathNick
            17.02.2017 12:24

            Я вам возразил исключительно по поводу вашей фразы:
            "это будет означать что пользователь с определенной долей вероятности настоящий. "
            Для чего вам возвращать фейковый аккаунт? Но уж если зачем-то потребовалось и требуется ещё раз ввести смс, делаете заявку и вам опять этот же номер предоставляют. Номер ваш навсегда, его используют для других сервисов, но телеграм уже никто на него не зарегистрирует. Правда я думаю это не гарантированно будет вечно работать.


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


            1. x07
              17.02.2017 12:49

              Я вам возразил исключительно по поводу вашей фразы:
              «это будет означать что пользователь с определенной долей вероятности настоящий. „

              Я не ради спора это все пишу) Просто высказываю точку зрения, почему вероятность есть).

              Для чего вам возвращать фейковый аккаунт?

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