Как сделать сайт с авторизацией: Надёжная авторизация для веб-сервиса за один вечер / Хабр

5 решений для удобства авторизации и 16 решений для удобства регистрации — Дизайн на vc.ru

На связи Максим Жуков из KISLOROD. Мы специализируемся на разработке и развитии ecommerce-проектов. Делимся экспертизой в этом блоге и телеграм-канале. Подписывайтесь, чтобы не пропускать материалы о точечном увеличении конверсий в клиентских проектах, исследованиях, гипотезах и наблюдениях.

37 197
просмотров

Ранее мы уже рассказали о грамотной реализации:

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

Значение функционала авторизации и регистрации в интернет-магазине

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

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

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

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

5 возможностей для улучшения функционала авторизации в интернет-магазине

1. Размещайте форму авторизации на сайте в привычном месте

Пользователи привыкли видеть форму в правом верхнем углу. Чтобы им не приходилось искать форму авторизации на сайте, размещайте ее в привычном месте.

2. Упростите авторизацию и регистрацию на сайте

Baymard Institute предлагает несколько решений:

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

  4. Запоминайте, что пользователь вошел в систему (до 7 дней). Чтобы обеспечить безопасность, можно дополнительно запрашивать пароль при вводе данных платежной карты.

Поле с возможностью видеть пароль на ormatek. com

3. Внедрите авторизацию через телефон

Всё меньше пользователей хотят использовать авторизацию через email, отдавая предпочтение авторизации через телефон:

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

Важно учитывать эти тенденции, если вы работаете преимущественно в b2c-сегменте.

Единственный недостаток внедрения авторизации через телефон — дополнительные издержки на оплату SMS рассылки.

Авторизация через телефон на ozon.ru

4. Реализуйте авторизацию через социальные сети

Вы также можете внедрить авторизацию через социальные сети. Это упростит пользователям процесс регистрации и авторизации. Статистические исследования показывают, что 53% пользователей авторизуются через Facebook и 44,8% — через Google.

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

Хороший пример формы для авторизации на сайте нашли на lamoda.ru — можно войти и с помощью соцсетей, и стандартным способом.

Авторизация через соцсети и emаil на lamoda.ru

Несколько нюансов авторизации через соцсети:

  • способ предпочитает молодая аудитория;
  • возможна авторизация через Фейсбук, авторизация на сайте через ВК или даже через Одноклассники — учитывайте предпочтения аудитории и реализуйте сразу все возможности;
  • для бизнес-аудитории больше подойдет авторизация на сайте через Google;
  • пользователь может забыть, с помощью какой соцсети регистрировался;
  • удалив аккаунт в соцсети, пользователь не получит доступ к сайту.

5. Сохраняйте положение пользователя при авторизации

Пользователи могут авторизоваться на разных этапах взаимодействия с интернет-магазином:

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

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

Как сохранить положение пользователя:

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

Большинство интернет-магазинов в Рунете использует второе решение. После такой авторизации можно будет обновить текущую страницу и не потерять положение на сайте.

16 возможностей для улучшения функционала регистрации в интернет-магазине

1. Сделайте регистрацию необязательной

Согласно исследованиям Baymard Institute, 37% пользователей откажутся от оформления заказа из-за необходимости создавать учетную запись. Зачастую пользователям проще сделать заказ в другом интернет-магазине, чем регистрироваться. Есть категория покупателей, которые сознательно выбирают магазины с необязательной регистрацией. Чтобы не терять клиентов, дайте им право выбора — регистрироваться или нет.

2. Расскажите о преимуществах регистрации

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

3. Используйте сильные стимулы

Чтобы стимулировать пользователя зарегистрироваться, можно использовать:

  • скидку на покупку или подарок;
  • бесплатную услугу — например, доставку;
  • участие в бонусной программе;
  • розыгрыш призов.

При оформлении заказа предлагайте купить товар без регистрации или зарегистрироваться и получить что-то ценное.

Возможность получить бонусы при регистрации на onlinetrade.ru

4. Предложите стать избранным

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

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

Закрытый клуб в онлайн-винотеках Grape на grapewines.ru

5. Покажите, что бонусы за регистрацию — только начало

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

Накопительная бонусная программа для зарегистрированных пользователей на сайте grapewines.ru

6. Минимизируйте количество полей

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

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

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

7. Используйте адрес электронной почты вместо логина

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

8. Сообщите, если учетная запись занята

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

9. Дайте понять, какие поля обязательны для заполнения

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

В исследовании Baymard Institute 32% пользователей не заполняли часть обязательных полей в формах, в которых были отмечены только необязательные поля. Пользователям не очевидно значение отсутствия маркировки поля. И вместо того, чтобы заполнять поля без маркировки, пользователи тратят время на раздумья, обязательны ли они. Отсутствие пометки «обязательное поле» увеличивает время заполнения формы и количество ошибок

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

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

10. Не предъявляйте слишком строгие требования к паролю

Чрезмерно строгие требования к паролям могут стать серьезным препятствием к авторизации во время оформления заказа.

По данным Baymard Institute,18,75% пользователей, которые делают покупку на сайте повторно, не завершают заказ из-за того, что не могут вспомнить сложный пароль. Обычно они пробуют несколько комбинаций, затем сбрасывают пароль и ждут письма с возможностью поменять его. На этом этапе могут возникнуть проблемы — задержка письма, попадание в спам — вероятность отказа от покупки очень высока.

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

Отображение требований к паролю на aliexpress.ru

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

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

11. Используйте фоновую регистрацию

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

12. Не используйте капчу

Исследователи из Baymard Institute не рекомендуют использовать капчу — даже при условии хорошей реализации она приводит к потере покупателей. Если же капча настолько нечитаема, как в примере ниже, вероятность отказа очень высока.

Плохой пример реализации капчи на citilink.ru

По результатам исследований, около 8,66% всех пользователей ошибаются при первой попытке. Если капча чувствительна к регистру, ошибутся 29,45%. Только 66% с первой попытки правильно ввели капчу. Если пользователи неправильно введут капчу два раза подряд, то скорее всего покинут сайт.

Если без капчи не обойтись, опирайтесь на следующие правила:

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

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

Пример использование сервиса reCAPTCHA на askona.ru

13. Не блокируйте учетную запись при неправильном введении пароля

Блокировка учетной записи при многократном неправильном введении пароля более агрессивная мера безопасности, чем капча. Она приводит к еще большему количеству отказов пользователей.

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

14. Не очищайте данные формы при ошибке

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

15. Не требуйте активации учетной записи

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

16. Сделайте так, чтобы пользователь легко мог найти приветственное письмо

Когда пользователь забывает пароль, то зачастую пытается найти письмо с паролем. Облегчите задачу, отразив суть письма в теме. Вместо «Поздравляем!» или «Добро пожаловать!» используйте тему вроде «Данные учетной записи в таком-то интернет-магазине». В качестве отправителя также должно быть название ресурса.

Заключение

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

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

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

И не забудьте поставить лайк (+1), если понравился материал.

Парсинг сайта с применением авторизации

Время прочтения: 5 мин.

Любой, кто когда-либо пытался парсить сайты на python начинал с простого запроса «get» библиотеки «requests». Запрос «get» выгружает html код страницы, который можно обрабатывать под свои нужды.

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

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

Возьмем сайт https://ivi.ru/ и попытаемся залогиниться.

Для авторизации требуется ввести email и пароль. В библиотеке requests есть метод «POST», с помощью которого реализуются отправки данных на сервер. Общий вид использования метода: «requests.post(url, headers, data)». «url» ссылка на ресурс, «headers» заголовки запроса, «data» данные запроса, которые мы будем передавать.

Импорт, авторизация и исходные параметры

Устанавливаем библиотеку:

pip install requests

Прежде всего, нужно узнать, откуда брать данные «headers» и «data». Для этого запустим инструмент разработчика. Переходим во вкладку СЕТЬ и обновляем страницу. Здесь видим все активности сети.

На главной странице сайта входим в профиль. Открывается форма авторизации, вводим логин-пароль и нажимаем кнопку ВОЙТИ. Ищем нашу ссылку.

Чтобы быстрее находить нужную строку в отображении полей нужно добавить поле «Method» и по нему отсортировать столбец. Данные на авторизацию отправляются в «POST» запросах.

Находим строку v5/

Смотрим информацию по этой строке

Во вкладке «headers» находим «General» в нем возьмем «url», в «Request Headers» нас интересует только «User-Agent», который пропишем в «headers», в «Form Data» данные для запроса «data».

import requests
url = 'https://api.ivi.ru/mobileapi/user/login/ivi/v5/'
headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'
}
data = {
    'email': '[email protected]',
    'password': 'testTEST123',
    'device': 'OS X Chrome v.89.0.4389.90 3a7a0',
    'app_version': '870'
}

Создаем сессию, она будет держать наше соединение с сайтом, и мы сможем с ним работать.

session = requests.Session()
session.headers.update(headers)
response =  session.post(url, data=data)

Смотрим статус ответа

response
<Response [200]>

Ответ 200 означает успешный ответ от сервера.

Посмотрим, что возвратил наш запрос

response.json()
{'result': {'id': 1852143028,
  'gender': 0,
  'birthday': None,
  'session': 'ea85a1001852143028_1634027028-388944532m_RoMwwuIDe_NMcbmefXmw',
  'expiration': '2021-10-12T08:23:48Z',
  'firstname': None,
  'lastname': None,
  'subscribed': True,
  'origin_app_version': 870,
  'actual_app_version': 870,
  'payment_credentials': {},
  'email': '[email protected]',
  'email_real': 1,
  'msisdn': '',
  'confirmed': 1,
  'storageless': False,
  'is_debug': False,
  'children': [],
  'basic': '0.0000',
  'bonus': '0.0000'}}

Здесь важная строка «session», которая указывает на наш номер сессии. Дальше в примере будет видно, что, если бы мы не создали сессию, изменить данные нам бы не удалось.

Попробуем поменять данные профиля. Нажимаем на кнопку редактировать и меняем имя.

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

Записываем «url» и копируем «data». Необходимо обратить внимание на строку «session», где нужно передать наш номер сессии. Номер берем из ответа сервера.

url_change_nick = 'https://api.ivi.ru/mobileapi/user/info/v5/'
session_id = response.json()['result']['session']
data = {
'nick': 'test-test',
'kind': 'adult',
'lang': 'ru',
'tz': '+03:00',
'app_version': '870',
'session': session_id
}
response =  session.post(url_change_nick, data=data)

Чтобы удостовериться в работе нашего кода обновляем страницу в браузере.

Наш код успешно сработал.

Использование учетных данных WINDOWS

Также бывают редкие случаи, когда нужно использовать логин-пароль от учетной записи Windows. Для этого можно использовать библиотеку «requests-negotiate-sspi». Она становится особенно полезной, когда часто меняется пароль от учетной записи.

Устанавливаем и импортируем библиотеку, нам нужен метод «HttpNegotiateAuth»

pip install requests_negotiate_sspi
from requests_negotiate_sspi import HttpNegotiateAuth

Повторяем все, что делали выше: прописываем «headers», заполняем «data» и поднимаем сессию. Попробуем получить дату и время сервера.

Вначале сделаем запрос без передачи данных авторизации

xml_request = '''<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetServerDateTime xmlns="http://Server/" />
  </soap:Body>
</soap:Envelope>'''
headers = {
    'Host': host_name,
    'Content-Type': 'text/xml; charset=utf-8',
    'Content-Length': str(len(xml_request))
}
session.headers = headers
response = session.post('http://' + host_name + '/ServerService.asmx?WSDL', data=xml_request)
response
<Response [401]>

Посмотрим текст ответа

response.text
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>

Как мы видим ошибка авторизации.

Повторяем запрос с использованием «HttpNegotiateAuth»

response = session. post('http://' + host_name + '/ServerService.asmx?WSDL', auth=HttpNegotiateAuth(), data=xml_request)
response.text
<curDateTime>44298.576980902777</curDateTime>

Ответ на запрос даты и времени сервера получен успешно.

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

Полное руководство с часто задаваемыми вопросами

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

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

Не позволяй этому случиться с тобой! Вместо этого сделайте приоритетом исследование и внедрение эффективных методов аутентификации веб-сайтов. Для вашей помощи мы составили это удобное руководство с некоторыми из наиболее часто задаваемых вопросов от таких разработчиков, как вы:

  1. Что такое веб-аутентификация?
  2. Почему важна аутентификация веб-сайта?
  3. Как работает веб-аутентификация?
  4. Каковы распространенные методы проверки подлинности веб-сайтов?
  5. Какая форма веб-аутентификации является наиболее эффективной?
  6. Какие передовые методы проверки подлинности веб-сайтов можно использовать?

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

Готовы начать? Давайте прыгать!

1. Что такое веб-аутентификация?

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

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

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

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

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

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

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

2. Почему важна аутентификация на веб-сайте?

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

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

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

Эффективная веб-аутентификация обеспечивает лучший пользовательский опыт.

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

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

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

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

Эффективная веб-аутентификация защищает пользователей (и вас!) от утечки данных и обеспечивает безопасность данных пользователей.

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

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

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

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

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

3. Как работает веб-аутентификация?

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

Взгляните на этот общий обзор процесса аутентификации веб-сайта:

  1. Пользователь попадает на страницу входа на веб-сайт, на котором он ранее создал учетную запись.
  2. Пользователь предоставляет свой уникальный идентификатор и ключ для подтверждения своей личности.
  3. Учетные данные для входа сравниваются с оригиналами, хранящимися на сервере веб-сайта.
  4. Если они совпадают, пользователь проходит аутентификацию и получает доступ к своей учетной записи.

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

4. Каковы распространенные методы аутентификации на веб-сайтах?

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

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

Факторы знаний

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

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

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

Факторы владения

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

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

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

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

Факторы наследования

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

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

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

5. Какая форма веб-аутентификации является наиболее эффективной?

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

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

Беспарольная аутентификация Swoop

Здесь, в Swoop, мы предлагаем два уникальных и инновационных решения для аутентификации электронной почты без пароля: Magic Link™ и Magic Message™. Давайте рассмотрим различия между ними.

Magic Link

Magic Link™ — это безопасная ссылка, которую Swoop отправляет конечному пользователю по электронной почте. Они просто вводят свой адрес электронной почты и щелкают ссылку, отправленную им, чтобы завершить цикл аутентификации. Затем пользователю предоставляется доступ к учетной записи.

Волшебное сообщение

Волшебное сообщение ™ — это защищенное электронное письмо, которое автоматически создается, когда они щелкают ссылку Swoop mailto в своем браузере. Аутентификация происходит, когда конечный пользователь отправляет электронное письмо. Давайте рассмотрим процесс шаг за шагом:

  1. Пользователь перенаправляется в сервис Swoop по протоколу OAuth 2.0 для аутентификации.
  2. В окне браузера пользователь нажимает кнопку «Отправить Magic Message™»: Эта кнопка активирует ссылку mailto, которая создает предварительно написанное электронное письмо для отправки пользователем.
  3. Пользователь отправляет электронное письмо: Вот где происходит волшебство. После отправки электронной почты сервер исходящей электронной почты генерирует и встраивает полностью зашифрованный цифровой ключ 1024/2048 бит в заголовок электронной почты. Сервер аутентификации Swoop следует криптографической процедуре с открытым ключом для расшифровки этого ключа. Каждое отправленное электронное письмо получает уникальный ключ для этого сообщения. Уровень безопасности этих зашифрованных ключей несравним с традиционными паролями.
  4. Пользователь вошел в свою учетную запись: Когда ключ расшифровывается и проходит все уровни проверки, сервер аутентификации Swoop указывает веб-сайту открыть учетную запись пользователя и начать сеанс. Все это происходит за считанные секунды и обеспечивает чрезвычайно упрощенный пользовательский интерфейс.

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

Чтобы узнать больше, посмотрите нашу демонстрацию. Просто нажмите «Войти» и следуйте инструкциям, чтобы испытать магию Swoop!

6. Каковы передовые методы аутентификации на веб-сайтах?

1. Изучите аутентификацию без пароля.

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

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

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

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

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

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

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

3. Внедрить многофакторную аутентификацию.

Многофакторная аутентификация по существу добавляет дополнительный уровень безопасности поверх любых существующих методов аутентификации. Например, на веб-сайте может быть реализован процесс входа в систему, который требует от пользователя 1) ввода предварительно определенного имени пользователя и пароля и 2) подтверждения своей учетной записи с помощью одноразового кода, отправленного по электронной почте или SMS.

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

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

4. Интегрируйте аутентификацию единого входа.

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

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

Благодаря аутентификации Single Sign-On пользователи могут легко переходить из одного домена в другой без необходимости постоянно повторно подтверждать свою личность. Таким образом, они могут создавать более сложные (и безопасные) пароли, которые им нужно будет вводить только один раз за сеанс.

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

5. Ограничьте количество попыток и сбросов пароля.

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

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


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

Для получения дополнительной информации ознакомьтесь с этими основными ресурсами:

  • 6 способов создать современный пароль и имя пользователя. Процесс входа в систему: обеспечение соблюдения стандартов паролей высшего уровня на вашем веб-сайте может повысить безопасность и значительно затруднить работу с неавторизованными пользователями. чтобы получить доступ. Ознакомьтесь с этими советами, чтобы обеспечить надежность пароля.
  • Три лучших альтернативных пароля для повышения безопасности веб-сайта. Многие организации начали внедрять альтернативные пароли для более эффективной проверки подлинности веб-сайта. Узнайте больше о наших трех лучших предложениях для входа без пароля.
  • 6 обязательных плагинов входа в WordPress [оценено и проверено!]: если ваша организация использует веб-сайт WordPress, плагины, вероятно, станут вашими лучшими друзьями. Взгляните на шесть наших любимых плагинов для упрощения и улучшения процесса входа в систему.

javascript — Авторизация на веб-странице

Задавать вопрос

спросил

Изменено
9 лет, 6 месяцев назад

Просмотрено
792 раза

Доброе время суток!
Мне интересно, как правильно реализовать авторизацию на абстрактном веб-сайте.

У меня есть сервер, на котором работает mysql. И в одной из его баз есть пары: логин+пароль.

Также у меня есть веб-страница с «формой входа». Ввод пользователя (в виде простого текста) мне нужно передать на сервер и проверить его. Эта доставка простого текста вызывает у меня боль в шее.

Я знаю, что существуют различные современные технологии, такие как openID и OAuth. Я не могу их использовать. Мне нужно сделать крошечное веб-приложение.

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

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

  • javascript
  • аутентификация
  • Интернет

4

Если вы хотите, чтобы это было просто, я бы посоветовал вам сохранить стандартную форму входа (простой текст POST) и принудительно использовать SSL при публикации (т.