Pull to refresh

Comments 82

Вы уверены что описанное в статье это именно веб-дизайн?
А что же тогда?! Или веб-дизайн это только способы скругления углов у блоков и нанесение айфоноподобных бликов на кнопки?
А теплое и мягкое путать не случалось?

Юзабилити — это понятие относящееся к дизайну, если обсуждается форма регистрации на веб-сайте наверное это все-таки web-дизайн а не какой-то еще.

И Нельсон и Купер достаточно часто публикуются именно на тему юзабилити в веб-дизайне.
UFO landed and left these words here
Да, естественным образом произошли от слов творецЪ и междумордиеЪ :)
UFO landed and left these words here
Юзабилити — это удобство использования. В это понятие входит не только дизайн интерфейса.
UFO landed and left these words here
Да. А удобство использования — это один из основных критериев веб-дизайна.
Другими являются эффективность донесения информации и эстетичность.
А вы искренне считаете что способы скругления углов это задача дизайнера?

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

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

Мне просто не очень понятно. Дает возможность пробить человека по поисковикам?

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

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

Как показывает практика даже малозначительная на первый взгляд регистрация на форуме с возможностью восстановить пароль по вопросу «Ваш любимый напиток» может взломщику позволить сделать первый шаг к вскрытию куда более серьезных аккаунтов связанных с юзернеймом.

Да, это все так.
Восстановление пароля та еще головная боль.

Скажем так, в данном случае я не вижу задачи серьезнее подходить к вопросам безопасности пользователя, чем это делается на подавляющем большинстве ресурсов, в угоду ЧПУ и индексации.
Видел процесс, разбитый на две стадии. На первой стадии юзернейм и мыло, а по ссылке в письме вторая часть, где указывается пароль. Плюс в том, что одновременно проверка почты проходит (активация).
Это хороший способ. Можно и просто e-mail, а при активации username и password :)
видел, кстати, вариант где вместо почты — jabber (учитывая, что кругом gmail — имеем профит в скорости)
Хорошая мысль и реализовать просто, проблема одна — это среди айтишников, американцев и европейцев один gmail, а вот на просторах россии это Яндекс, меилрушечка, и рамблер.

Если бы везде был один gmail проблем бы не было :)
вариант с 1 полем, думаю не работоспособный
капча в любом случае нужна, хотя бы чтобы не заддосили вводом форму большой базы емейлов
получается минимум 2 поля

UFO landed and left these words here
Для одного ip — одна регистрация в сутки. Не будет описанной проблемы. К вопросу о «а если с этого ip еще кто-то хочет зарегаться» — очень мала вероятность такого события, а если и случится, то не жаль потерять одного пользователя ради защиты своей системы :)
Проблема будет, есть такая штука как NAT, из-за которой вероятность очень приличная.
А отказ от обслуживание это еще хуже чем изобилие полей.
Сколько пользователей из одной подсети решат зарегистрироваться на вашем сайте в течении суток?
Представьте ситуацию: студенческое общежитие, сидит студент, и видит новый — очень крутой сервис, регистрируется на нем, заходит и понимает, что регистрация дает кучу плюсов, и делает сервис просто божественным, спускается покурить, и в курилке всем рассказывает, какой крутой сервис он нашел. В итоге: как минимум, общежитие потерянных клиентов.
Если идет рекламная компания — порядочно. У нас почти все интернет-провайдеры пускают трафик через NAT.
Не очень красиво, некоторые горе-провайдеры «дают» на выход ограниченное количество ip :)
Эту идею надо развить. Например: для одного айпи одна регистрация без капчи. Вторая регистрация с того же айпи — «Мы сожалеем, бла-бла-бла, введи капчу»
Так например делает гугл в своем переводчике (да-да, мне случалось зае… задолбать гугл :) )
Очень хорошая идея, несколько строчек кода и уже снижение нокбеков на процент-другой.
Единственное сожаления писать — это лишнее, рядовой пользователь очень неоднозначно реагирует на сообщения что что-то не так и не так часто вникает что именно. Просто для последующих с капчой и все.
А почему нет варианта username+пароль?
+ всего 2 простых поля
+ username фиксирован (прям как на хабре)
+ работоспособный ЧПУ

Я в своих проектах такой вид использую.
Использовать в качестве пароля email? Хм… Тогда уж OpenId :)
Почему в роли пароля?) email для того чтобы выслать на него сгенеренный пароль.
кстати, люди, у меня такой вопрос, может подскажите, делаю один проект, думаю как ЧПУ сделать, не охото делать test.ru/user/username, есть желание сделать test.ru/~username — вот думаю сто ли так делать и корректно ли вообще использование знака ~ в урл… может подскажите что?
Корректно, но некрасиво. Лучше по-старинке.
Что может быть более по старинке, чем тильда? :)
UFO landed and left these words here
Ну первый вариант — что если мне надо будет создать новый раздел, а адрес какой-то юзер займёт? Придётся или выгонять его или думать другое название… пока задумался о варианте с поддоменами, так проще будет, главное отсеять список сервисных поддоменов…
А через собаку, хз, у меня почему-то собака ассоциируется с почтой, та и не все парсеры нормально понимают нормально урл…
Но спасибо за совет ^_^
вариант: habrahabr.ru/blogs/webdev/67774/

Со времени написании статьи поменялось одно: mail.ru стал провайдером openid. Правда сейчас, насколько удалось выяснить, аналогичную кнопку для него сделать не удастся (ситуация та же, что и в ЖЖ).

Лучшим пока считаю совмещенный вариант: 3 кнопки + email/пароль. Пароль — без подтверждения, вопрос с опечаткой при вводе решается ссылкой «восстановить пароль», по которой можно осуществить его сброс.

На большинстве сайтов человекопонятный username в url'е — вещь бесполезная. Чаще всего смотрят свой профайл, а там username вообще не нужен, т.к. ссылку «мой профайл» можно спокойно делать единой для всех.
Да, читал.
Вариант с OpenID тоже рассматривал, но как вспомогательное решение. OpenID провайдером становиться точно излишне.

username в ЧПУ я очень часто использую, начинаю набирать имя пользователя в строке той же лисы или chrome и сразу список акков человека на различных сайтах. Чтобы попасть на твой профиль, мне достаточно набрать в адресной строке kmi, что весьма удобно.
Вы сами ответили на свой вопрос — Username + email + captcha.
можно пойти еще дальше и отказаться, наконец, от обязательного ввода email-а с его обязательной проверкой.
2010-й год все-таки уже, а не 1995-й, когда зарегистрировать новый ящик было тяжело и этим реально какая-то «подлинность» пользователя проверялась.
далеко не у всех есть желание светить свой адрес на всех сайтах подряд, популярность сервисов типа mailinator и bugmenot тому подтверждение.
Согласен, но пока эту проблему решают в основном с помощью отсечения определенных доменов вроде 10minutesmail при регистрации. Списки доменов с помощью многочисленных соответствующих блек-листов, можно даже сделать автообновление блек-листа.
вот это вообще дурь.
вы еще паспорт потребуйте.
такие отсечения решают только проблему «мне надоели лишние пользователи» =)
Ну я такого не планирую, откуда бы пользователь не пришел — все ок, только бы не спамил и не флудил, просто рассказываю об общей практике, с которой постоянно сталкиваюсь со своим 10minutemail
Так собственно, а если пароль забудете, что делать?
если пользователь хочет — пусть вводит мыло, подтверждает его и соглашается с получением спама тем, что угон мыла приведет к угону аккаунта и на сайте.
(кстати, это наиболее частый способ кражи аккаунтов в том же жж)
зачем эту очевидную дыру в безопасности делать принудительной — не очень понятно.
есть менее уязвимые способы не забывать пароль.
Делаю так:
изначально видно 3 поля: емейл, пароль в виде text и каптча. И поясняющие контролы:
1) мыло будет использоваться и как отображаемое имя и для логина;
2) если рядом кто-то есть, то текстовый пароль заменяется двумя type=«password»
Т.е. если человек не хочет напрягаться, то заполнит 2 поля и будет щастлив, впринципе, отображаемое на сайте имя можно поменять в личном кабинете.
Да, и для посетителей без js показываются сразу все поля, нельзя не любить пользователей популярного плагина Noscript
Если же пользователь напряжётся и кликнет, куда сказано, то ему покажутся отдельные поля для логина-отображаемого имени, емейла и привычные парольные поля.
главное не забыть для текстового парольного поля сделать autocomplete=«off»
UFO landed and left these words here
Ну в урле наверное не пароль а просто id-шник шифрованный или нечто подобное и сразу по переходу по нему выкидывать на форму ввода нового пароля.
А почему нет варианта с двумя полями username и email?
на email приходит пароль при регистрации, а username используется для авторизации.
При поптыке зарегистрировать уже существующий в базе username к username прибавлять порядковый номер или предлагать пользователю ввести другой.

А еще лучше сделать реалтаим проверку на аяксе.

А раз уж используем яваскрипт, то и капчу не надо — с помощью аякса присваиваем значение скрытому полю, без которого форма не обрабатывается
Роботы могут это же поле подставить в форму, им правда придется для этого скачать страницу формы, но это проще, чем разгадать каптчу.
Хм, а они разве могут выполнять яваскрипт? Мы же значение будем подставлять после загрузки страницы
А еще сделать чтобы значение генерировалось в зависимости от времени например и какого-нить секретного слова. И проверять потом можно вплоть до часа.
Все эти уловки работают только до того момента, пока спамеры не возьмутся обойти эту защиту. Пока сайт не популярный, любая простейшая защита будет работать, как только кто-то им заинтересуется, только каптча сможет остановить, да и то, не всякая.
Этим убираем пользователей без JS, и все равно защита слабая, ведь можно вычислить как это поле формируется, и сделать это аналогичным образом, например, если делается дополнительный AJAX запрос, то и робот это может сделать. Такая защита будет работать только от не настроенных для данного сайта роботов.
У нас такая рега делается так:
— Для незалогиненных создается аккаунт в базе на базе id в куках,
— Минимальная регистарция только по email (при желаении можно защититься паролем).

И практически весь функционал расчитан на незалогиненного пользователя.
Если обязательно ЧПУ, то можно развить вариант с одним полем: человек вводит e-mail, получает письмо, а на странице с подтверждением от него требуется ввести уникальный логин. Вариация с паролем: либо генерировать, либо просить вместе с логином.
Одно поле очень обрадует человека, мне всегда отталкивает большое кол-во полей, а раз уж письмо получил, то заполнит ещё 2-3 поля.
Да, если пользователь уже приложил усилия, то еще одно маленькое дополнительное его не остановит
Нет предела совершенству, но есть предел сокращению, нельзя «убирать еще одно поле, потому что уже не 1995 год».

Имя пользователя или ник уже стал традицией. Не трогайте никнейм, %username%!

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

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

Итого имеем обязательных 4 поля от которых деваться нельзя.

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

Каптча в первой форме лучше чем во второй, это избавит от проблем, если роботы начнут спамить через форму регистрации.
Угу, каптчей логично отсекать в самом начале.
Да покарает анально Аллах придумавших поля подтверждения пароля и e-mail. Покажите мне хоть одного адекватного человека, кторый не заполняет их копипастом.
Покажите мне человека, у которого получилось скопировать информацию из поля ввода пароля, и на выходе получить не «●●●●●». :)

* прежде чем писать ерунду — перепроверяй свои смелые предположения, хабрачеловек!
Вообще-то копируют из другого места, из программы хранения паролей, например.
Пукнут в лужу и совершенно серьезно считают это «критикой». Учдук
Адрес почты видно, если есть подтверждение мыла, то ошибочно введенный адрес лишь отправит ссылку на регистрацию не туда. Ошибку ввода пароля всегда можно исправить через восстановление пароля, поэтому тоже второе поле не требуется. Правда все привыкли к подтверждению пароля при регистрации, если его убрать, то человек может подумать что это форма авторизации, а не регистрации.
Меня всегда напрягает, когда меня держат за идиота, что я не смогу отличить форму авторизации от регистрации или введу пароль или е-мейл не правильно. К тому же, как я уже выше написал, это абсолютно бесполезнейшая мера — ошибся один раз с паролем или мылом — точно так же ошибешься с ними и при копи-пасте.
Надо просто сделать интерфейс без лишних полей подтверждения, и потом опросить пользователей, было ли неудобство какое-то. Скорее всего проблем не будет. Вот именно, что пытаются сделать интерфейсы для идиотов, которых среди посетителей и нет вовсе, а если они даже есть, то им любой интерфейс будет тяжело освоить, тем более что они печатают плохо, наверняка ошибутся или раскладкой, или капсом, чего подтверждение ввода пароля не выявит.

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

Еще непонятно вот что: Везде, где надо вводить пароль есть ссылка «Прислать на e-mail ссылку для сброса пароля» Почему не делают такую же ссылку для авторизации, когда, например, я за другим компьютером — это же крайне удобно!
Можно совместить функции смены пароля и авторизации по ссылке. Для этого надо залогинить пользователя при переходе по ссылке смены пароля.
Почта, логин, пароль — если сервис будет что-то слать на почту
Логин, пароль — если не будет
+ возможность авторизации с помощью openid и oAuth.
Повтор пароля/почты/etc — ужасен и его точно не надо использовать

Выше предлагали только почту, потом через ссылку в письме вводить логин и пароль. Этот способ тоже в чем-то прекрасен.
Каптча — не нужна. Либо показывать только после нескольких регистраций с одного IP/попыток залогинится с одним логином.
Насчет ЧПУ. Можно сделать example.com/username, username.example.com, example.com/?username, example.com/users/username — остальные варианты непривычны/ужасны. В любом случае, чем ссылка короче, тем лучше.
с ЧПУ есть нюанс, что его нужно привязывать к полю, с которым не может играться пользователь, иначе поисковикам не понравится.
То есть если пользователь может менять свой юзернейм, то ЧПУ лучше привязать к айдишнику.
Не надо давать пользователю менять ник. В любом сообществе возникнет путаница. Представьте, что завтра Boomburum внезапно станет -=$God_of_the_Disko$=-. Ничего хорошего смена ников не дает. Хочешь новый ник — зарегься заново.
Согласен, это не только дизориентирует, но и дает почву для спекуляций, клоны с замененными буквами и т.д.

Короче в любом случае ник нужно будет вводить либо при первом заходе, либо при втором, после чего он фиксируется. Голые айдишники мало кому нравятся.
Only those users with full accounts are able to leave comments. Log in, please.