Xpoint
   [напомнить пароль]

Не приходит Код Активации на сайте

Метки: [без меток]
2010-10-08 12:37:44 [обр] Евгений Седов aka KPbIC(0/176)[досье]

Юзер заполнил форму: email, пароль. Я получил, проверил — все корректно. Вызвал sendmail, клиента редиректнул на страницу, где сообщается, что Код Активации выслан ему на email, и для окончания процедуры регистрации ему необхоимо пройти по ссылке в письме.

Предположим, что письмо попало юзеру в спам, где он его увидеть не может, а SMTP сообщил нам, что письмо принято. Через пару минут, когда юзер потеряет терпение он опять придет на страницу регистрации. И с большой вероятностью еще раз введет тот же email.

Имеет ли смысл сделать на странице регистрации отдельный блок для такого случая? И что в этом случае сообщить клиенту? - ведь, сколько бы он ни бился, письмо с Кодом Активации он таким путем не получит.

спустя 32 минуты [обр] LookeR(13/1069)[досье]

Я где-то встречал вариант... на форуме каком-то... кажется такой:

  1. Высылается письмо, но логин и пароль работают и допускают до сайта...
  2. Сайт-же уведомляет, что активация не прошла и предлагает провести активацию "на сайте"... путем заполнения "подробностей" об учетной записи что-ли... не помню.

Или написать сколько-то комментариев... нет, уже не вспомню.

спустя 1 минуту [обр] LookeR(13/1069)[досье]
Ну, наверное можно генерить ссылку "для активации"на сайте с какой-нибудь капчой посложнее...
спустя 13 минут [обр] Евгений Седов aka KPbIC(0/176)[досье]
В этом случае я теряю уверенность в том, что вы указали именно свой email, а это важно: Регистрация на сайтах - вопрос
спустя 31 минуту [обр] Сергей Костин(0/21)[досье]
сообщение промодерировано
Недавно задумавался над таким вариантом, хотя скорее всего он бредовый. Почему нельзя юзеру скидывать данные уведомления допустим в jabber или в IM-клиент(хотя, там тоже может быть настроен фильтр)? Но лично мне как пользователю, наверное, было бы удобно получить мгновенно ссылку о прохождении регистрации.
Почту же можно использовать как дублирующий инструмент.
спустя 33 минуты [обр] Евгений Седов aka KPbIC(0/176)[досье]

Сергей Костин[досье] Если использовать жаббер только как канал для посылки Кода Активации, то это не решает проблему достоверности email'a. А если полностью заменить регистрацию по email, на регистрацию по Jabber, то тогда возможна проблема, если ваш сервис не умеет хранить сообщения на сервере. Это будет означать, что я не смогу послать вам уведомление в офф-лайн (как, например, в почту). Понятно, что во время регистрации клиент у вас будет активен. Но вы же не держите компьютер включенным круглые сутки? А кроме регистрации есть еще всякие рассылки и уведомления. Значит, придется держать достаточно пухлую очередь, запоминая кому и что еще не отослали из-за офф-лайна?

Идея интересная, надо подумать.

спустя 26 минут [обр] Филипп Ткачев(0/112)[досье]
Есть Juick работающий с жаббером по аналогичному принципу.
спустя 35 минут [обр] Евгений Седов aka KPbIC(0/176)[досье]
сообщение промодерировано

Филипп Ткачев[досье] Не понял. Вы о чем? По какому принципу?

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

Заодно вопрос: как получить от MTA ошибку? - чтобы вообще было что сказать юзеру, когда он заявляет, что Код Активации не получил.

спустя 1 час 23 минуты [обр] Филипп Ткачев(0/112)[досье]

Евгений Седов aka KPbIC[досье], авторизация через Jabber.
Ошибки от MTA никакой ведь не будет. И вообще, если человек не получил код активации, то это проблемы не ваши, так как это проблемы конечной стороны. Как вы можете гарантировать нормальную работу стороннего сервера?

А вообще я бы сделал так. У только что зарегистрировавшегося человека на 7 дней открывается пробный аккаунт, который нужно активировать, но он доступен для использования. Оградить от спама можно обыкновенной каптчей на сообщениях. Пока аккаунт не активирован, она выводится постоянно и как бы "мешает" спамить. Если человек, не получает код активации в течение суток после регистрации, ему предлагается сменить почтовый ящик на другой. Все должно быть просто.

спустя 22 минуты [обр] Сергей Костин(0/21)[досье]

Филипп Ткачев[досье]

ему предлагается сменить почтовый ящик

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

спустя 50 минут [обр] LookeR(13/1069)[досье]
сообщение промодерировано
Евгений Седов aka KPbIC[досье]
А для чего вам вообще адрес пользователя? Спамить? ;-)
Если наличие рабочего E-mail обязательное требование к участникам — тогда, да — предлагать найти другой ящик.
спустя 32 минуты [обр] Евгений Седов aka KPbIC(0/176)[досье]
сообщение промодерировано

Пока проблему спамеров не рассматриваем.

  1. Пользователь мог ошибиться в имени домена. Если указаного домена не существует, то МТА об этом знает, а мы вполне могли бы сообщить об этом пользователю, и у него появился бы шанс спокойно исправить свою ошибку.
  2. Пользователь мог ошибиться в имени ящика. Не исключено, что МТА получил бы что-то в духе "no such mailbox".
  3. У нас самих мог испортиться резольвер. Тогда, было бы логично предупредить юзера, что у нас временные проблемы (и уведомить нашего админа в жаббер).
  4. Домен получателя есть, но нет MX-записи.
  5. Есть и домен и MX, но проблемы на магистрали и мы не можем достучаться до целевого SMTP.
  6. SMTP может сообщить что наш сервер в черном списке.

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

Филипп Ткачев[досье]

Ошибки от MTA никакой ведь не будет.

Что вы имеете в виду? В лог-то МТА пишет. Я как раз и хочу эту ошибку получить. Но только без необходимости распарсивать логи, так как это далеко не дешевая процедура.

LookeR[досье]
Во всех вышеперечисленных случаях проблема является решаемой без необходимости юзеру заводить новый ящик. Да и реакция пользователя на такое предложение весьма предсказуема.

спустя 2 часа 57 минут [обр] Филипп Ткачев(0/112)[досье]
Да я что-то подумал, что в Perl есть такая же функция mail(), как и в PHP. Она возвращает ошибку. А тут оказывается таковой нет.
А если делать встречную проверку e-mail? Т.е. когда подсоединяешься через сокет к серверу и проверяешь на нем существование учетной записи.
Что-то в этом духе http://www.daniweb.com/code/snippet217131.html
спустя 17 минут [обр] Евгений Седов aka KPbIC(0/176)[досье]
Филипп Ткачев[досье] Если, не отпускать клиента пока не завершена процедура отправки Кода Активации (вы же практически это предлагаете?), то в случае если, например, поломался любой из маршрутов, это время может составить несколько минут. И это тайм-ауты TCP и DNS, уменьшить их вы не можете.
спустя 29 минут [обр] Филипп Ткачев(0/112)[досье]
Если поломался маршрут, значит почта не работает. По крайней мере в текущий момент недоступна.
Я не могу уменьшить тайм-ауты, но я ведь могу их проигнорировать?
Если проверку почты высунуть в отдельный поток и она не отрабатывает за 15 секунд, это значит, что почта с проблемами и поток можно убить.
спустя 1 минуту [обр] Филипп Ткачев(0/112)[досье]
сообщение промодерировано
Кстати, отдельный вопрос — когда делать проверку, ведь ее можно и отложить, работая по схеме предложенной мною выше (с пробным аккаунтом).
спустя 59 минут [обр] Евгений Седов aka KPbIC(0/176)[досье]

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

Клиента надо отпускать и только после этого посылать Код Активации. Давать ли при этом тестовый доступ — не имеет большого значения. В любом случае надо получить ошибку от МТА. Кто-нибудь знает такой МТА, который бы мог на заранее помеченное письмо, отдать ошибку куда-нибудь кроме лога?

спустя 1 час 9 минут [обр] LookeR(13/1069)[досье]
Евгений Седов aka KPbIC[досье]
Решение, "облегчающее жизнь юзера" - не делать активации по E-mail. :-)
спустя 42 минуты [обр] Евгений Седов aka KPbIC(0/176)[досье]
LookeR[досье] А как быть с регистрацией чужих, левых и ошибочно указанных email'ов? А с регистрацией с целью постить спам? Конкретно, для новой версии точки вы предлагаете отказаться от активации через email?
спустя 8 часов [обр] LookeR(13/1069)[досье]
Евгений Седов aka KPbIC[досье]
А как это влияет на общение или необходимость блокировки Юзеров?
спустя 3 часа 11 минут [обр] Владимир Михайленко(0/33)[досье]
Соглашусь с LookeR[досье]. Нормальной является ситуация, когда я могу указать несколько OpenID (у которых могут быть разные email или вообще их не быть), а email ввожу (и свободно меняю) только если мне нужны письма с сайта (уведомления о новых сообщениях и т.д.). Соответственно, при классической регистрации e-mail тоже необязателен. Кстати сейчас на точке я могу поменять email без проблем на любой мне удобный.
спустя 7 минут [обр] Евгений Седов aka KPbIC(0/176)[досье]
Не будет ли сбивать с толку, если в профиле юзера стоят не принадлежащие ему адреса? Например admin@microsoft.com, support@xpoint.ru, bear@kremlin.ru?
спустя 10 часов [обр] LookeR(13/1069)[досье]

Евгений Седов aka KPbIC[досье]
Мне без разницы. Я не списываюсь ни с кем самопроизвольно. Вообще не имею привычки писать на чей-либо адрес без предварительной договоренности (велик риск попасть в спам). Так что право человека вписать "что-попало" или не вписывать ничего вполне понимаю. Ну, не хочет он никакой рекламы и рассылок. Имеет право? Нет?
Понятно, что когда человек вписывает себе в профиль такую чепуху - сам себя лишает определенных сервисов. Так давайте сделаем такие сервисы (уже применительно к Точке), чтобы у человека возникал дискомфорт в случае использования "пустого" адреса.

Что касается "чужого" то я периодически забавляюсь тем, что сам меняю людям, которые вписывают мой e-mail в качестве "своего" при регистрации, все регистрационные данные и пароли. Чтоб неповадно было. Главное чтобы пришло хотя бы одно уведомление... ;-)

спустя 2 часа 10 минут [обр] Евгений Седов aka KPbIC(0/176)[досье]
сообщение промодерировано

LookeR[досье]

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

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

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

Может, просто дать анонимусам дополнительных прав помимо чтения? Скажем, постить в существующие темы. Или создать отдельную группу "зарегистрированные без мыла"?

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

Если вы согласны с тем, что есть необходимость проверять мыло хотя бы в редких случаях, то топик остается актуальным — Как получить ошибку от MTA?

спустя 1 день 10 часов [обр] LookeR(13/1069)[досье]

Евгений Седов aka KPbIC[досье]
Все, кто ожидает обратной связи - дают адекватную почту. Кто не желает - вынужден "при обязательности поля" подставлять "любую".
Ведь не секрет, что есть сборщики адресов...

Я не уверен, что в случае с открытым форумом (содержание которого доступно без регистрации) - это имеет смысл.
В случае требования "владельца клуба" к кандидатам на вступление в "закрытый клуб" или "на должность" - ради бога. Считаем, что это условие предоставления услуги...
Но, что такое MTA - я не знаю. И подсказать тут ничего не смогу.
Банальное письмо с ошибкой в адрес нашего сервера нельзя обработать?

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

спустя 29 минут [обр] Евгений Седов aka KPbIC(0/176)[досье]

Пришел запрос на регистрацию. Записали в базу, клиента отпустили. MTA (или посредник между базой и MTA) должен взять строку из базы, послать Код Активации, а при наличии ошибки записать ее в базу (либо другому посреднику, который запишет в базу). Пока я не знаю как получить ошибку, бессмысленно фантазировать на тему "что сказать клиенту?"

Если никто не подскажет готовое решение, то придется писать свой.

спустя 15 минут [обр] LookeR(13/1069)[досье]
сообщение промодерировано
М Мне почему-то кажется, что за рецептом надо идти уже в профильный раздел...
В разделе по удобству пользования вряд ли дадут какие-либо реальные методы или решения.
Создайте тему в более подходящем разделе.
спустя 8 часов [обр] Евгений Седов aka KPbIC(0/176)[досье]
Такую схему с обработкой ошибки я сделаю для точки, и там посмотрим как народу понравится. А по поводу отсутствия мыла при регистрации и прав анонимусов создал отдельную тему: Права anonymous'ов и регистрация без email
спустя 49 минут [обр] LookeR(13/1069)[досье]

Евгений Седов aka KPbIC[досье]
Осталось понять кто будет это народ... если регистрация не будет пройдена - человек не будет ничего писать. А зарегится и не заметит, что это какой-то тестовый пуск. Точка не такой популярный и уже наверное можно сказать: давно не легендарный ресурс, что бы все рвались и сюда и жаловались на невозможность зарегистрироваться.

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

спустя 46 минут [обр] Евгений Седов aka KPbIC(0/176)[досье]
LookeR[досье] Я говорю только о том, что если пользователь не получит по почте письмо о регистрации с Кодом Акивации, то и он, и админ сайта-отправителя смогут узнать судьбу этого письма. Это добавит пользователю шансов успешно довести регистрацию до конца. И я рассмотриваю только случай, когда такое подтверждение получения письма необходимо.
спустя 1 час 46 минут [обр] LookeR(13/1069)[досье]

Я всё понимаю. Не понимаю только для чего эта "активация при регистрации" нужна. И зачем мне нужно узнавать судьбу письма?
Чтобы затруднить жизнь спамерам и ботам? Так под них создадут ящичек.
Для чего вам база действующих реальных адресов?

У меня вот простая проблема со всеми этими активациями: я не знаю с какого адреса и как скоро придёт письмо.
Как автоматически сгенеренный объект письмо автоматически попадает в разряд "подозрительных" для спам-фильтров... если не сразу в спам. И прописать в белый лист не зная адреса с которого придёт письмо - тоже не могу. Вот сидишь, как дурак... ждёшь и проверяешь, то Inbox, то спам. Ради чего?

спустя 1 час 13 минут [обр] Евгений Седов aka KPbIC(0/176)[досье]

LookeR[досье]

Мы, вроде бы, договорились, что активация нужна в случае предоставления сервисов и иных "близких" отношений. Допустим, будут у нас блоги, IRC, почта, жаббер, доступ к пейджеру, остслеживание тем и постов "друзей", модераторство, и т.д. и т.п., когда надо иметь надежный способ для связи. При обычной регистрации, возможно, email и не нужен. Но в отдельных случаях необходим. Я говорю именно про обязательные случаи. Это условие задачи. Как "У Вани было одно яблоко, а Фимы три...". Не обсуждается, ибо дано.

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

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

спустя 11 часов [обр] LookeR(13/1069)[досье]

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

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

спустя 6 часов [обр] Евгений Седов aka KPbIC(0/176)[досье]
LookeR[досье] Почтовые ящики на точке — только за деньги.
спустя 2 часа 58 минут [обр] LookeR(13/1069)[досье]
:-) Мне не надо. Мне хватает.
спустя 1 год 3 месяца [обр] Евгений Седов aka KPbIC(0/176)[досье]
До сих пор не нашел готового приемлемого решения, буду писать сам. Пока первое приблизительное описание приложения в траке. Если у кого-нибудь появится желание поучаствовать если не в написании, то хотя бы в обсуждении этого сервиса, на irc открыт #pechkin.
спустя 2 месяца 24 дня [обр] Евгений Седов aka KPbIC(0/176)[досье]
Разрабатываемый Perl код в Trac'е Точки.
спустя 13 дней [обр] Алексей Полушин(0/231)[досье]

Евгений Седов aka KPbIC[досье]

4.Домен получателя есть, но нет MX-записи.

Вы не поверите, но наличие MX-записи не является необходимиым условием для доставки почты http://exchangepedia.com/blog/......-implicit-mx-rule-can-you.html

спустя 1 день 4 часа [обр] Евгений Седов aka KPbIC(0/176)[досье]

Алексей Полушин[досье] Вы правы. Я переформулирую: домен получателя есть, но нет ни MX-, ни A-записи.

Добавил ваше замечание в описание тикета. Спасибо.

Powered by POEM™ Engine Copyright © 2002-2005