Яндекс Аккаунт — регистрация и как пользоваться сервисом

Шаг 7

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

Эту ссылку можно поставить в том месте, в котором нам нужно — я поставлю ее после текста страницы. Относительно параметра — он будет передан методом GET (вспоминаем, что из формы мы передавали данные вторым параметром — POST). При использовании этого метода данные присоединяются к адресу в адресной строке и отделены от адреса как раз вопросительным знаком. Мы передаем один параметр — do — и при этом присвоили ему значение «logout». Как теперь мы можем разавторизовать пользователя? Очень просто — здесь нам помогут второй и третий этапы при работе с сессиями. При загрузке страницы мы можем проверить значение элемента do из массива $_GET. Если оно будет равно строке «logout» — мы просто разрегистрируем сессионную переменную $_SESSION[‘admin’] и разрушим сессию. Соответственно, метки в сессии после этого не будет и в следующем блоке, где мы проверяем наличие метки, пользователь будет перенаправлен на страницу авторизации. Все просто.

Итак, на странице admin.php допишем условие после старта сессии (до проверки наличия метки):

Теперь можно попробовать перейти по ссылке «Выход». После выхода мы окажемся на странице авторизации и увидим форму для авторизации. Попасть теперь на страницу админки мы не сможем, пока не авторизуемся.

Шаг 2

Пока что мы свободно можем ходить по всем страницам, включая страницу админки. Как же мы ограничим к ней доступ? Каков вообще будет алгоритм? Мы будем делать следующее: в самом начале страницы мы будем проверять, есть ли нужная нам метка в сессии или, проще говоря, существует ли определенная сессионная переменная (также можно проверять равно ли значение сессионной переменной определенному значению). Если такой переменной нет, значит пользователь, запрашивающий эту страницу, не авторизован, а значит мы осуществим его редирект на страницу авторизации, где ему будет предложено заполнить форму с именем и паролем. Алгоритм предельно прост — реализуем его. Переходим к файлу admin.php, открываем в самом верху конструкцию PHP и напишем такой код:

Давайте теперь прочитаем это код. Во-первых, мы открыли сессию, как Вы помните — это обязательное условие при работе с сессиями. Далее, мы создали простое условие, которое можно прочитать так: «если в массиве $_SESSION не существует элемента admin — будем выполнять блок действий, заключенный в операторные скобки». А в блоке кода мы при помощи функции header() производим редирект пользователя на страницу enter.php (это страница авторизации). После функции header() обязательно завершаем выполнение скрипта при помощи функции exit(). Если же условие не выполнится, т.е., в массиве $_SESSION будет элемент admin — это значит, что пользователь уже успешно авторизован, и мы пропустим блок действия в операторных скобках, т.е., никакого редиректа происходить не будет, и мы покажем запрошенную страницу.

Возможности «Паспорта»

Прежде всего, сервис Яндекс.Паспорт позволяет сохранить все данные о пользователе в одном месте. Вы можете легко управлять услугами и подписками (например, сервиса Яндекс Плюс), редактировать собственные данные и усиливать безопасность аккаунта.

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

Ваш «Паспорт» содержит в себе также все ссылки на основные соцсети. Словом, это полное досье на пользователя ресурса Yandex.

Процесс авторизации (вход в аккаунт)

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

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

Двухфакторная аутентификация

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

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

Для получения пароля откройте Яндекс Ключ и введите пин-код (он задается при подключении двухфакторной аутентификации).

Затем скопируйте сгенерированную комбинацию. Срок ее действия – не более тридцати секунд.

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

Вход в аккаунт Яндекса через соцсети

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

Перед вами откроется новое окно, где нужно будет ввести данные для соц. сети (например, если вы не авторизовались в ней с данного ПК ранее) и разрешить доступ к данным. Чтобы создать новый аккаунт на Яндексе, нажмите на кнопку с надписью «Я новый пользователь».

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

Шаг 5

Теперь проверим то, что мы получили из формы с тем, что у нас есть в переменных с логином и паролем. Делать это мы будем по условию — только в том случае, если нажата кнопка формы. Как мы можем это проверить? У кнопки есть имя («submit»), а данные мы передаем методом post. Соответственно, мы можем просто проверить, существует ли элемент submit в массиве $_POST. Если есть — кнопка была нажата, и мы будем выполнять действия по проверке присланных данных, иначе — ничего делать не будем. После объявления логина и пароля пишем условие:

Условие по проверке логина и пароля мы сделали как бы двойным. Сделано это при помощи логического оператора AND (его также можно записать таким образом — «&&»). Условие можно прочитать так: «если(переменная $admin равна элементу user в массиве $_POST И переменная $pass равна хешу элемента pass в массиве $_POST) то {выполняем блок действий}else выводим на экран текст ‘Логин или пароль неверны!’

Отлично!

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий