Регистрация 2.0 (платная доработка)

2633
Приветствую

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

Новые настройки в админке

1. флаг Выводить поле для подтверждения пароля
2. флаг Выводить поле для ввода никнейма (если "нет" - то он будет совпадать с логином)
3. флаг Выводить поле для ввода логина (если "нет" - то он будет браться из поля email)
4. флаг Выводить социальные кнопки ULogin
Скрин:

Описание:

При нажатия на кнопку "Регистрация" или "Вход" через аякс подгружается соответствующее окно (кнопки ulogin так же работают через аякс).
Авторизация:

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

Из окна авторизации можно открыть окно "восстановление пароля" и без перезагрузки страницы запросить новый пароль на электронку.
Напоминание пароля:


Плюсы:

1. Авторизация и регистрация будут занимать меньше времени за счет того, что не нужно будет прыгать по разным страницам.
2. Отсутствие капчи - какая бы красивая она ни была, без нее все-равно лучше - от посетителя требуется заполнить как минимум на одно поле меньше.
3. В случае ошибок при вводе пароля, логина или других полей не придется заново заполнять какие-либо поля, вся форма так и останется на экране в заполненном виде.
4. Есть возможность отключить лишние поля и максимально упростить регистрацию - оставив только электронку и пароль. Все остальное можно будет внести позже уже в профиле.
5. После успешной регистрации пользователь сразу оказывается авторизованным - не нужно снова вводить логин и пароль.
6. После регистрации посетитель останется на той же самой странице, где и был до этого. И сможет спокойно дочитать статью или оставить комментарий.
7. Интеграция с плагином ULogin - все это работает совместно и на аяксе. Профили из разных социалок корректно склеиваются при совпадении электронки - без задвоения юзеров в таблице users.

Технические моменты

Доработка состоит из двух частей:
1. хак компонента Регистрация - добавление полей в админке(файл backend.php) и редактирование frontend.php.
2. плагин p_newregs, который и реализует весь описанный функционал
НИКАКИХ других исправлений в движок или базу данных вносить не нужно.

Потрогать на деле можно тут (демо).

Стоимость 500руб

Обновление до Инстанта 1.10 бесплатно.

Тем, кто уже приобретал какие-либо мои доработки - скидка 30% (цена со скидкой 350руб)

В воскресенье я еще подправляю некоторые моменты и окончательно все тестирую. С понедельника уже буду отправлять желающим.

Еще один скрин с большим количеством полей
Плагин ULogin 2.0 (склейка профилей) | Обновленная Регистрация (доработанный вариант)
Комментарии (76)
Haronych 14 октября 2012 в 00:12 +2
Во... Наконец то нормальное решение. Куплю )
Александр Корн 14 октября 2012 в 00:29 +1
Однозначно +! Как только рожу достойный проект - обязательно куплю!
Azura 14 октября 2012 в 00:46 +2
А как компенсируется отсутствие капчи-то? Я не вижу никаких комментариев по поводу безопасности!
SJen 14 октября 2012 в 10:59 0
Капча она ведь для чего? - для того, чтобы не позволить роботам регистрироваться. Тут решение в том, что роботы пока не осилили javascript и не смогут регистрироваться через аякс.
maxisoft 14 октября 2012 в 12:29 0
SJen:
Капча она ведь для чего? - для того, чтобы не позволить роботам регистрироваться. Тут решение в том, что роботы пока не осилили javascript и не смогут регистрироваться через аякс.

Звучит как то прикольно, или я в последнее время отстал от жизни или что то упустил, как мне кажется что роботу пофигу на ваш JS и прочее, робот не использует HTML форму, а юзает тупой POST запрос на сам скрипт и если нет проверки на капчу в скрипте произойдет массовый спам шквал.
Fuze 14 октября 2012 в 12:32 0
Тут решение в том, что роботы пока не осилили javascript и не смогут регистрироваться через аякс.
А вот тут вы не правы) Что мешает передавать данные POST-ом на /registration ? Так что решения нет.
maxisoft 14 октября 2012 в 12:43 0
решение есть первый пост писал пока не посетил сайт, и не увидел что ревтайт стоит на /registration но посмотрел что сделано на плагине,

Но опять же можно в плагине накрутить еще ряд проверок тогда можно и не пробиться.
maxisoft 14 октября 2012 в 12:41 +4
да и еще используя flash или iframe для имитации crossdomen ajax я используя вот этот скриптик http://www.myinstant.ru/plugins/p_newregs/ajax/reguser.php получу 1.000.000 спам юзеров за несколько минут.

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

Это мое IMHO можете меня закидать камнями и заплевать если Вам будет угодно.
SJen 14 октября 2012 в 12:59 +1
Fuze:
А вот тут вы не правы) Что мешает передавать данные POST-ом на /registration ? Так что решения нет.
стандартная регистрация в моем варианте отключена вообще - POST запрос ни к чему не приведет. Я понимаю, что такое "обычный POST запрос" и первое что было сделано - это блокирование стандартного варианта. Но как предложил Умные Интернет Разработки - она будет открыта, но капча там сохранится (точнее там все останется по-старому - special for bots)

maxisoft:
получу 1.000.000 спам юзеров за несколько минут.

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

maxisoft:
Но опять же можно в плагине накрутить еще ряд проверок тогда можно и не пробиться.
Забавно как вы уверенно меня критикуете, даже не посмотрев код. Но я не против - сломайте мой демо сайт, а потом можете смело написать, что я пишу кривые плагины - а я публично покаюсь.
maxisoft 14 октября 2012 в 13:11 0
Уважаемый я где то упомянул что Вы пишите кривые плагины? или обозвал Вас горе программистом? Вроде речь не шла о этом, да я код не посмотрел, я просто видел другие Ваши разработки, и они точно также как и мои грешат простыми ошибками связанными с обычной невнимательностью или глобальным размышлением как сделать и упустить мелочи. Как я писал выше можно отправить кросдоменный запрос на аяксе, по проити регистрацию уже делал аналогичное, но как я говорил выше можно просто поставить дополнительно поставить проверку и все будет ОК. Если у вас все так и есть тогда СУПЕР!!!

И еще раз хочу сказать что я не высказывался что Вы криворукий горе программист.
SJen 14 октября 2012 в 13:21 +1
я расценил "потенциальную брешь безопасности" и "1000 000 юзеров за несколько минут" как синонимы кривого плагина.

Я ведь тоже не претендую на абсолютную истину - например, ваша фраза про flash и iframe навела на мысль, что надо еще раз проверить эти моменты - быть может и я правда мог что-то упустить.

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

Если кто-то захочет меня переубедить - ломайте демо сайт, лучшего доказательства придумать сложно.
Коля 14 октября 2012 в 15:13 +1
А можно прикрутит вопрос-ответ ? очень нужно для тематического сайта. Ответил правильно, молодец, нет пробуй еще. Только что б в админке можно было задать вопрос-ответ.
Коля 14 октября 2012 в 15:16 0
и еще юлогин можно отключит в плагинах или он жестко привязан к форме ?
SJen 14 октября 2012 в 15:48 0
во-первых, можно отключить сам плагин
во-вторых, можно отключить отображение соц кнопок в админке компонента "Регистрация"(оставив плагин, скажем только для окна "Вход") - на скрине админки видно, в пункте "Новые настройки в админке"
SJen 14 октября 2012 в 15:45 +1
то есть капча такая? - "отгадай загадку - попадешь на сайт" - прикрутить то все можно.

Но я старался облегчить жить простым посетителям, а вы спрашиваете можно ли им ее усложнить:)
Коля 14 октября 2012 в 17:18 +1
Тут прикол в другом, скажем есть сайт где бабушки о своем девичьем гутарят. Естественно как ураган влетает пользователь шо хочет пообщаться. Это просто жуть и работа для модератора. Но если скажем при регистрации будет вопрос -каким крючком вяжут макраме, то сайт для бабушек останется сайтом для бабушек и всякие желающие пропиарить всякую там партию за что то там уже отпадают. Аналогично сайт с тематикой мотоциклы вопрос - каким маслом заправляют иж17, понятное дело хочется общаться с теми кто в теме, а не желающими выделится, выпендривание "продемонстрировать" и т.д
да и всегда можно же дать выбор в админке, включит или нет вопрос-ответ.
SJen 14 октября 2012 в 17:39 +1
да, я понял. Это вполне имеет право на жизнь.
Капча, которая отфильтровывает не только роботов, но и тех людей, что не "в теме".
sotastroy 15 октября 2012 в 10:38 0
Ломать не строить. Но я написал бота за 5 минут для такой регистрации. Зарегал несколько учеток для теста, их заметно должно быть.
SJen 15 октября 2012 в 10:44 0
отлично
не убирайте далеко робота - починю, проверим. С меня бесплатная версия, если она получится устойчивой к такой атаке.
maxisoft 15 октября 2012 в 11:00 0
Немного опередили ну и да ладно главное что разработчик понял что я был отчасти прав!
SJen 15 октября 2012 в 11:05 0
Немного опередили ну и да ладно главное что разработчик понял что я был отчасти прав!

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

С идеей отказаться от капчи я не прощаюсь, а реализацию поправлю.
SJen 15 октября 2012 в 11:01 +1
Интересно только, что интервал регистрации нового юзера у вашего робота от 15сек до 2х минут. С таким интервалом я могу и руками регистрировать.

А что он так долго регает? - сайт то летает.. и фильтра по "скорострельности" не стоит. Если честно, не очень верится, что это автоматическая регистрация.

Запустите еще раз - только с такой частотой, чтобы не было сомнений - что это робот.
sotastroy 15 октября 2012 в 11:50 -1
Бот регистрирует с заданной скоростью, + все данные вводятся так же, как это делает человек(по-символьно набирая на клавиатуре). Но сейчас стал регистрировать через раз, или вы что-то поменяли, или это последствия 5-минутной настройки, нужно сделать более качественно, но для теста пойдет.

Остальные моменты давайте обсудим в личке.
SJen 15 октября 2012 в 12:24 0
Подкрутил гайки, робот отфильтровался.

Но сегодня никому не продам) - надо еще раз подумать и потестировать
Def 14 октября 2012 в 15:23 0
Можете за бакс сделать? Куплю 100%
Коля 14 октября 2012 в 19:27 0
А мне вот кажется что если бы было два варианта "с" и "без" так народ бы живей покупал и автору больше денег и меньше мороки. Большинство скриптов так и продается, вот вышел форум для дле так там сам форум бесплатный, а год тех. поддержки стоит копейку и снятие копирайта то же. Я не к тому что сделать бесплатно, но если скажем "с" 500 руб. а "без" скажем 200 руб. народ покупал бы наверно. Аналогично купил за 200, но не получается, доплатил 300 да и все, ИМХО.
Patriot 14 октября 2012 в 00:57 +1
Прикрутить выбор города, пола и дату рождения можно?
Спойлер
SJen 14 октября 2012 в 11:03 +1
дату рождения прикрутил (она же есть и в стандартном компоненте).
пол и город посмотрю сегодня - не проблема.
letsgo 14 октября 2012 в 01:48 +2
Sjen пардон за нескромный вопрос, хотя и без разницы мне, но задам: Вы меньше 500 рублей цены ставите?) Я конечно поддерживаю стремление брать плату за свой труд, но как то вроде несоразмерно цена - функционал. Дело естественно сугубо ваше определять цену. Просто пара таких подач и глядишь общий уровень цен начнет расти, не всегда заслуженно. Или я пропустил момент инфляции?)
RIM5 14 октября 2012 в 10:58 0
letsgo, не забывайте про качество сделанного.
У SJen всегда отличное качество, обновления и поможет, если что не так. Также он всегда учитывает важный момент - производительность.
На мой взгляд, здесь цена указана верно.
SJen 14 октября 2012 в 11:13 0
не забывайте, что в цену заложена моя техподдержка, помощь при установке и решение самых разнообразных проблем на стороне клиента, которые напрямую никак не связаны с моей доработкой(это все уже 100% входит в цену и ничего сверху я никогда не беру). Плюс - дальнейшая поддержка и обновление для инстанта 1.10.

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

Да и наконец, скидка старым клиентам уменьшит цену до того минимального уровня, который вы, как я понимаю, и хотели увидеть.
prosis 14 октября 2012 в 01:56 0
рега в ленту попадает?
SJen 14 октября 2012 в 11:15 0
В ленту активности попадает как простая регистрация, так и регистрация через социальные сети (ULogin). Желающие могут и логинзу прикрутить - просто шаблон поправить, но она не дружит с аяксом - так что будет не совсем то.
Алексей Тимофеев 14 октября 2012 в 02:21 -1
+ молодец!
Марат 14 октября 2012 в 08:27 0
+
нормальная работа и вполне нормальная цена.
Def 14 октября 2012 в 08:51 0
а через улогин когда регается юзер, в ленте активности отображается информация?
SJen 14 октября 2012 в 11:26 0
да, конечно
я же добавил эту фишку в свой плагин для ULogin. Это он добавляет в ленту событие и отправляет письмо с паролем на электронку.
Роман 14 октября 2012 в 09:21 +3
Sjen, сделайте скидку для уже приобретавших ваши модули
st.Puh 14 октября 2012 в 11:09 0
Читать надо внимательно.
Тем, кто уже приобретал какие-либо мои доработки - скидка 30% (цена со скидкой 350руб)
SJen 14 октября 2012 в 11:15 0
Читать надо внимательно.
Да это я позже строку про скидку добавил, уже после этого сообщения)
Умные Интернет Разработки 14 октября 2012 в 11:09 0
Захожу на http://www.myinstant.ru/login все работает, а вот http://www.myinstant.ru/registration там пусто, можно сделать так чтобы могли и на этой странице зарегистрироваться, не у всех же может коректно открываться через аякс. Как считаете?
SJen 14 октября 2012 в 11:18 0
я еще думаю над этим.

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

А простые посетители всегда будут получать аякс вариант.
Умные Интернет Разработки 14 октября 2012 в 12:18 +1
Может это вынести в админку, и пусть каждый решает, нужна ему страница регистрации или нет) Также хотелось бы вот этот хак добавить: Загрузка Аватара при Регистрации (Случайный Аватар)
SJen 14 октября 2012 в 20:38 +1
хак посмотрел, загрузку аватара добавлю
Dorimen 14 октября 2012 в 11:39 0
Можно ли будет добавлять свои произвольные поля? Например, я бы хотел узнавать, откуда пользователь узнал о моем ресурсе. И делать это поле обязательным.
SJen 14 октября 2012 в 12:18 0
А вы можете сделать это сейчас? - у меня же используется функционал стандартного компонента, в него лишь добавлены флаги для исключения необязательных полей.

Добавлять то можно, так же - как и в стандартный, применяя хак. Какого-то умного сервиса для манипулирования полями я не добавлял.
Edik_Salonikski 14 октября 2012 в 12:38 0
+5 otsen ydobnii modul...
Александр 14 октября 2012 в 17:11 +1
При регистрации на демке пишет "Укажите пароль дважды!" и не регит.
Пробовал уже три раза.

Также было бы здорово привязать страну и город, писал кто-то выше - согласен, это было бы реально круто
SJen 14 октября 2012 в 17:25 0
да это я уже допиливаю
настройки поменял, а кэш не почистил.
Роман 14 октября 2012 в 18:36 +1
если будет привязка города (региона), можно сделать город (регион) был как бы по умолчанию уже выбран.
Думаю, у многих сайты региональные и как правило 90% всех пользователей с определенного региона и чтоб им не проходить всю цепочку Страна - регион - город и т.д. это значение стояло по умолчанию, с возможностью изменения естественно.
Надеюсь вы поняли мою мысль
SJen 14 октября 2012 в 20:02 0
Да, понимаю
Город и "день рождения" уже прикрутил - можно посмотреть на демо.

Сделать город по умолчанию несложно - только думаю, что тогда 99% посетителей будут лениться его менять и у вас будут все из одного города(даже те, кто из другого). Есть мысль как этого избежать, как реализую - напишу.
Haronych 14 октября 2012 в 20:15 0
Цвета и прочие настройки в css вынесены? А то не всегда белые окошки в тему...
SJen 14 октября 2012 в 20:20 0
Да, конечно - все в файле стилей. В PHP ради стилей копаться не придется.
reload 14 октября 2012 в 20:18 0
SJen:
Интеграция с плагином ULogin... Профили из разных социалок корректно склеиваются при совпадении электронки - без задвоения юзеров в таблице users.

Было бы отлично если бы и юзеры это знали и понимали!)
То есть, хотелось бы видеть в настройках личного профиля либо в доп вкладке "Мои соц. профиля" все привязанные социалки к аккаунту!
Ну и пояснение что мол ::привязка происходит по электронке (если только по ней) и при следующем входе на сайт через социалки, если ваша электронка совпадет, то ваши профиля "склеятся"

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

А в общем "хак" хороший и удобный, мне понравился - просто и удобно! для меня рега по мылу и паролю идеальна))

Для меня это дополнение такое же полезное как и система переписки! (даже первые версии)) Все сделано для упрощения навигации, что повышает удобство пользования ресурсом)

С меня +) ну и куплю естественно, как только вернусь к своим сайтам)

Спасибо за полезности!
SJen 14 октября 2012 в 20:23 0
Да даже прибавить то нечего)

То есть, хотелось бы видеть в настройках личного профиля либо в доп вкладке "Мои соц. профиля" все привязанные социалки к аккаунту!
Это должно быть в функционале плагина ULogin, добавлю такой сервис.
Strateg 14 октября 2012 в 20:30 0
мелочь, но в опере так отображается окно регистрации:
Спойлер
SJen 14 октября 2012 в 20:34 0
стили, стили..
Разные браузеры я завтра с утра посмотрю с работы - у меня там полный "зоопарк собран". Поправить нужно обязательно, но это не так сложно будет - главное, чтобы скрипты одинаково работали, а стили уже подкорректируем
reload 14 октября 2012 в 21:35 0
В хроме так же, только поля под окантовкой, не видно правой границы полей! но это мелочи)
SJen 14 октября 2012 в 21:50 0
исправлено, после обновления страницы через F5 такого не должно повториться
lezginka.ru 14 октября 2012 в 20:49 0
+
хорошее решение, возможно куплю.

мысли вслух.
труд должен быть оплачен, если это полезный труд :)
я бы сделал так:
1.вариант - очень дешево и без настроек в админке.
2.вариант - за реальную цену(на свое усмотрение), но с настройками
Олег Васильевич я 14 октября 2012 в 20:57 +1
Полезно. Удобно.
Хотелось бы: загрузку аватара и указание пола при регистрации (шоб всё одним махом laugh ).
Удачи!
DeeMon 14 октября 2012 в 21:59 +1
Последнее время забил на подобные плагины, так как имел сайт на DLE где было аналогичное, дак вот наблюдал, что из 100 пользователей на сайт входили через акк социалок только 2-3. Дак нужно ли оно тогда?
Def 15 октября 2012 в 00:28 0
Значит не правильно позиционировали и юзабилити было не очень и люди не понимали, что это облегчит регистпацию
DeeMon 16 октября 2012 в 22:37 0
Всё как везде по сути, на виду и удобно, однако.... ну не пользуется спросом...
Telema93 15 октября 2012 в 03:08 0
мало кто использует социалки в тех же комментариях! все хотят скрыть свою личину :)
SJen 15 октября 2012 в 03:40 0
это у вас проекты такие, раз хотят "скрыть личину".

У меня наоборот - если я облегчу посетителям вход на сайт (по сути до нажатия только ОДНОЙ кнопки), то все будут только рады. Потому что почти 0% имеют акк в какой-либо социалке и имнет нужды заполнять несколько полей в моей регистрации - надо просто кликнуть на иконку своей соц сети.
SJen 15 октября 2012 в 03:41 0
хотел написать 90%..
SJen 15 октября 2012 в 03:34 +1
этот плагин не для социалок, а для украшения регистрации. Чтобы народ не уходил, пару раз неправильно набрав капчу. Или поленившись заполнять 8 полей ради регистрации.

Социальные кнопки - это просто дополнение, которое можно и отключить, смысл совсем не в нем.
Strateg 15 октября 2012 в 11:46 0
не удобно,что при авторизации(после ввода пароля) не срабатывает "Enter",а нужно брать мышку и кликать на "Войти".
Или отсутствие реакции на Enter - защита от ботов?)
SJen 15 октября 2012 в 12:26 0
нет, не защита. Ентер сделаю -он не работает, потому что там не обычная кнопка submit'а формы, на аяксе все..
SJen 15 октября 2012 в 13:48 0
http://habrahabr.ru/post/107286/

про защиту от авторегистраций
кому интересно - посмотрите. Там и про капчу и про защиту на js/ajax.

Капчу добавлю в регистрацию, опционально
kvv 15 октября 2012 в 21:53 0
На днях куплю. Хорошая вещь. Поставил плюс.
SJen 15 октября 2012 в 22:11 +3
Обновил на демо сайте регистрацию, добавил:

1. заполнение пола (флаг в админке)
2. выбор города (флаг в админке)
3. три варианта работы с капчей (настройки в админке) -
а) без капчи
б) стандартная (как в инстанте)
в) ajax fancy captcha (на jquery) - в данный момент она включена

4. возможность заблокировать стандартный механизм регистрации - чтобы в нее не стучались роботы-спамеры.
5. Корректное реагирование на клавишу Enter
kir 6 ноября 2012 в 20:21 0
Дополнение хорошее, но помоему вы не уделили должное внимание некоторым мелочам:)
типа таких
Спойлер
adm7 26 февраля 2013 в 21:55 0
если только логин 1 запись, если логин и пароль то 2 записи показываются.
Я бы убрал "Не удалось авт." оставил "Вы точно к нам?"
adm7 26 февраля 2013 в 21:51 0
В опере 12,14 при регистрации картинку не перенести.
При выборе вспомнить пароль нету возможности вернуться в регистрацию или логин.