<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Одноразовая авторизация по ссылке

Одноразовая авторизация по ссылке

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

Задача состоит из нескольких шагов:

  1. Сформировать ссылку.
  2. Отправить её на e-mail.
  3. При переходе по ссылке авторизовать пользователя и перенаправить на нужную страницу.
  4. В целях безопасности сделать ссылку одноразовой.

Для этого нам потребуется таблица:

  • id - уникальный идентификатор.
  • user_id - id пользователя, который должен быть авторизован.
  • key - секретный ключ, который будет находиться в ссылке в виде GET-параметра.
  • r - адрес страницы, куда будет совершён переход после авторизации.

Теперь разберём алгоритм скрипта, который будет вызываться перед отправкой письма пользователю:

  1. Получаем id пользователя, которому мы хотим создать ссылку и которому мы будем отправлять письмо.
  2. Генерируем случайный ключ, например, с помощью функции uniqid().
  3. Формируем адрес страницы, на который должен попасть пользователь после перехода по одноразовой ссылке.
  4. Добавляем в таблицу новую запись с данными полученными в предыдущих пунктах.
  5. Формируем ссылку вида: http://ваш_сайт/login.php?key=сгенерированный_ключ.
  6. Отправляем пользователю письмо с необходимой информацией и созданной ссылкой.

Дальше начинается работа скрипта login.php:

  1. Считываем значение key.
  2. По значению key выбираем запись из таблицы.
  3. Если записи не найдено, значит, ссылка уже была использована, либо является поддельной.
  4. По user_id в записи получаем логин и пароль из таблицы с пользователями и авторизуем его.
  5. Удаляем запись из таблицы с ключами.
  6. Делаем редирект по ссылке из поля "r" у записи.

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

А если Вы хотите научиться не только создавать, но и реализовывать алгоритмы на PHP, то рекомендую посмотреть этот курс.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (5):

lev_100rus lev_100rus 18.09.2013 20:05:00

Большое спасибо!

Ответить

wanderer wanderer 18.09.2013 21:07:30

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

Ответить

razor2211 razor2211 18.09.2013 21:23:03

Вещь действительно полезная

Ответить

Vitlsa Vitlsa 19.09.2013 17:26:03

Неплохо было бы что бы у вас на сайте это срабатывало))

Ответить

Sujimoshi Sujimoshi 10.08.2014 00:27:21

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

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.