Php авторизация и регистрация: Регистрация и Авторизация на PHP + MySQL
Содержание
Протокол авторизации OAuth 2 — введение в технологию на примерах
В статье рассмотрим механику, способы и примеры использования технологии.
Что такое OAuth 2 — обзор
OAuth 2 — это протокол авторизации, предназначенный для организации доступа клиентских приложений к ресурсам, или данным учетных записей, пользователя на другом сервисе. В качестве клиентских приложений выступают веб-сервисы, мобильные и десктопные приложения. В качестве сервисов — mail.ru, GitHub, Bitbucket и др. Протокол используют разработчики сторонних приложений.
Мы сталкиваемся с этим протоколом, когда:
- авторизуемся на сторонних площадках через аккаунты соцсетей;
- устанавливаем себе на мобильное устройство приложение, взаимодействующее с нашими данными в облачных сервисах типа Google или Яндекс;
- используем сторонние приложения (боты в Telegram и других мессенджерах) для уведомлений и пр.
Доступ может быть ограничен правами пользователя или же областями видимости, что повышает гибкость использования протокола. Например, стороннее приложение может только читать наши данные, а не изменять их, либо же только изменять.
Различия протоколов OpenID и OAuth 2
Основное различие между этими двумя протоколами состоит в цели использования. Так, OpenID служит для аутентификации, то есть подтверждения личности пользователя в клиентском сервисе. Например, вы можете авторизоваться в любом из сервисов Google под своим аккаунтом и работать с ними от своего имени, со своими данными. OAuth же представляет собой протокол авторизации, то есть выдачи клиентскому сервису прав на выполнение действий с ресурсами пользователя (как правило, на чтение данных, но иногда и на изменение) от его имени.
Для верификации пользователя OpenID использует ID учетной записи у провайдера, а OAuth — авторизационные ключи (токены) с предопределенным сроком действия и правами доступа.
Используемые роли в OAuth 2
В рамках описываемого протокола выделяются следующие типы ролей:
- владелец (пользователь): авторизует клиентское приложение на доступ к данным своего аккаунта;
- сервер ресурсов/API: здесь располагаются данные пользовательских аккаунтов, а также бизнес-логика авторизации, отвечающая за выдачу новых OAuth-токенов и проверку их подлинности при обращении клиентских приложений к ресурсам.
Целесообразно объединять эти роли, так как физически это один сервис;
- клиентское приложение: собственно сервис, которому пользователь делегирует права доступа к своим данным на сервере ресурсов. Пользователь должен авторизовать приложение, а со стороны сервера API оно должно получить подтверждение в виде ключа (токена) доступа.
Как работает OAuth 2: от запроса на авторизацию до генерации токена
Рассмотрим схему, описывающую принцип действия протокола.
Выделим следующие шаги:
- Приложение запрашивает у пользователя разрешение на доступ к серверу ресурсов.
- После получения разрешения приложение сообщает об этом авторизационному серверу, а также предоставляет ему сведения о себе.
- Сервер авторизации проверяет подлинность разрешения и предоставленных сведений о приложении. В случае успешной проверки генерируется токен доступа.
- Далее приложение обращается к серверу ресурсов, предоставляя токен в качестве подтверждения пройденной авторизации.
- Сервер ресурсов проверяет действительность токена и выдает приложению доступ к запрашиваемому ресурсу.
В зависимости от бизнес-логики клиентского приложения последовательность шагов может меняться. Далее рассмотрим наиболее распространенные примеры использования OAuth 2.
Регистрация приложения на сервере API
Вне зависимости от того, с каким именно сервисом выполняется интеграция вашего приложения, его необходимо в первую очередь зарегистрировать. Делается это с помощью специального портала на сайте сервиса, с которым выполняется интеграция (например, https://console.cloud.google.com для Google).
Заполните все необходимые сведения о приложении:
- тип,
- используемые сервисы,
- название,
- информация о разработчике и пр.
Также в зависимости от архитектуры приложения, возможно, потребуется предоставить callback или redirect url — адрес, на который ваше приложение будет перенаправлять пользователя после успешной авторизации или же отказа от нее.
На финальном этапе вам будут предоставлены два строковых ключа: client_id (ID клиента) и client_secret (секрет клиента). Первый служит для идентификации приложения, а также генерации авторизационных URL для пользователей — параметр является публичным. Секрет же предназначен для проверки подлинности приложения API сервисом в тот момент, когда оно запрашивает доступ к пользовательскому аккаунту. Секрет должен быть известен только приложению и API.
OAuth для приложений с серверной частью: рассмотрим по шагам
Последовательность шагов приведена на схеме ниже.
- Пользователь перенаправляется на страницу авторизации, где у него запрашиваются разрешения для приложения на работу с данными его аккаунта.
- После предоставления необходимых разрешений пользователь попадает на callback URL — адрес, указанный при регистрации приложения, предназначенный для завершения авторизации. При этом происходит подстановка кода авторизации в GET-параметры адреса.
- Сервер клиентского приложения формирует POST-запрос к серверу авторизации API с кодом авторизации в качестве параметра.
- Сервер авторизации проверяет код и возвращает приложению токен доступа (access token).
- Используя токен, приложение авторизуется на сервере API и получает доступ к запрашиваемым пользовательским ресурсам.
Стоит отметить, что описываемый вариант авторизации является самым сложным, но только в рамках этой механики можно достоверно идентифицировать клиентское приложение (благодаря коммуникации между серверами на последнем шаге). Во всех остальных случаях авторизация проходит только на клиенте, что позволяет злоумышленникам маскировать одно приложение под другое. Данный фактор необходимо учитывать при внедрении механизма OAuth авторизации в своих сервисах.
Пример реализации использования протокола
У нас есть приложение с серверной частью, использующее API mail.ru.
Перенаправим пользователя на страницу авторизации.
> GET /oauth/authorize?response_type=code&client_id=464119& redirect_uri=http%3A%2F%2Fexample.com%2Fcb%2F123 HTTP/1.1 > Host: connect.mail.ru
Значения параметров ID клиента (client_id), секрета клиента (client_secret) и URL страницы подтверждения авторизации (redirect_uri) разработчик получает при регистрации своего приложения на платформе.
Когда пользователь предоставит приложению разрешение на доступ к своему аккаунту, он будет перенаправлен на redirect_uri:
< HTTP/1.1 302 Found < Location: http://example.com/cb/123?code=DoRieb0y
Рекомендуем в redirect_uri добавлять уникальный идентификатор пользователя для предотвращения CSRF-атак (в приведенном примере это 123). При получении кода авторизации необходимо проверить подлинность идентификатора и его соответствие текущему пользователю.
Далее необходимо обменять код авторизации на ключ доступа (токен):
> POST /oauth/token HTTP/1.1 > Host: connect.mail.ru > Content-Type: application/x-www-form-urlencoded > > grant_type=authorization_code&client_id=464119&client_secret=deadbeef&code=DoRieb0y& redirect_uri=http%3A%2F%2Fexample.com%2Fcb%2F123 < HTTP/1.1 200 OK < Content-Type: application/json < < { < "access_token":"SlAV32hkKG", < "token_type":"bearer", < "expires_in":86400, < "refresh_token":"8xLOxBtZp8", < }
В приведенном выше запросе используется секрет клиента, который в данном примере хранится на сервере приложения и выступает в роли подписи, подтверждающей подлинность запроса.
В результате сервер API возвращает токен доступа (access_token), его тип (token_type), срок жизни (expires_in), а также ключ для обновления токена (refresh_token). Полученные данные можно использовать для работы с пользовательским аккаунтом через API:
> GET /platform/api?oauth_token=SlAV32hkKG&client_id=464119&format=json&method=users.getInfo& sig=... HTTP/1.1 > Host: appsmail.ru
OAuth для полностью клиентских приложений
Стороннее приложение может представлять собой лишь графический интерфейс без серверной бизнес-логики и выполнять взаимодействие с сервисом API с помощью кода на клиенте — например, мобильное приложение календаря, заметок и т. д.
Схема процесса авторизации приведена ниже. Отметим, что приложению без серверной части необходимо создать виртуальное окно браузера для взаимодействия с пользователем в части подтверждения выдачи прав.
Сначала в виртуальном браузере приложения открывается страница авторизации, где пользователь должен подтвердить делегирование прав доступа к своему аккаунту приложению. Если подтверждение получено, происходит редирект пользователя на страницу-заглушку, в части адреса которой указан access_token.
При таком подходе опускается обмен кода авторизации на токен доступа во время обмена запросами между серверами приложения и API. Вся авторизация, как было отмечено ранее, происходит на стороне клиента.
Пример авторизации для приложения только с клиентской частью
У нас есть приложение только с клиентской частью, взаимодействующее по API с сервисами Mail.Ru. Рассмотрим процесс авторизации.
Сначала выполним переход на страницу авторизации:
> GET /oauth/authorize?response_type=token&client_id=464119 HTTP/1.1 > Host: connect.mail.ru
После подтверждения делегирования прав произойдет редирект на страницу-заглушку:
< HTTP/1.1 302 Found < Location: http://connect.mail.ru/oauth/success.html#access_token=FJQbwq9&token_type=bearer& expires_in=86400&refresh_token=yaeFa0gu
Авторизуемое приложение должно зафиксировать последний редирект и изъять из параметров URL необходимые данные для доступа к сервису по API.
Авторизация по логину и паролю
Если ни один из вышеприведенных вариантов недоступен, можно использовать данный метод. Он основан на простом POST-запросе, в котором пользователь предоставляет свои учетные данные. В ответе на запрос при прохождении проверки подлинности приходят данные для работы по API.
Пример: имеется некоторое стороннее приложение, работающее с сервисами Mail.Ru по API. При этом в нем применена базовая авторизация.
Отправим запрос с нашими учетными данными и получим данные для вызова API:
> POST /oauth/token HTTP/1.1 > Host: connect.mail.ru > Content-Type: application/x-www-form-urlencoded > > grant_type=password&client_id=31337&client_secret=deadbeef&[email protected]& password=qwerty < HTTP/1.1 200 OK < Content-Type: application/json < < { < "access_token":"SlAV32hkKG", < "token_type":"bearer", < "expires_in":86400, < "refresh_token":"8xLOxBtZp8", < }
Подвидом такого типа авторизации является авторизация с использованием учетных данных только приложения (ID и секрета клиента), а не пользователя.
Пример: https://oauth.example.com/token?grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET.
Обновление доступа
Как можно было видеть в предыдущих примерах, вместе с токеном при успешной авторизации возвращается также и ключ для обновления доступа (refresh_token). Он может использоваться для обновления токена по окончании его срока жизни, а также принудительного обновления во избежание компрометации токена при его передаче по открытым каналам. В случае успешного обновления доступа сервер API перевыпустит не только access, но и refresh_token.
Пример HTTP-запроса:
> POST /oauth/token HTTP/1.1 > Host: connect.mail.ru > Content-Type: application/x-www-form-urlencoded > > grant_type=refresh_token&client_id=31337&client_secret=deadbeef&refresh_token=8xLOxBtZp8 < HTTP/1.1 200 OK < Content-Type: application/json < < { < "access_token":"Uu8oor1i", < "token_type":"bearer", < "expires_in":86400, < "refresh_token":"ohWo1ohr", < }
Преимущества и недостатки OAuth 2
Рассмотрим подробнее плюсы и минусы протокола авторизации.
Плюсы
- использование SSL для защиты данных,
- ограничение прав доступа стороннего приложения к пользовательским ресурсам областями видимости,
- обилие библиотек для реализации использования протокола во всех языках общего назначения.
Минусы
- различия в подходах к реализации у разных сервисов, порождающие необходимость написания отдельного кода под каждый новый сервис;
- если реализована интеграция с семейством приложений, работающих в одной экосистеме (например, Google), существует риск для всех интеграций при компрометации учетных данных либо сбое на стороне сервера API;
- OAuth 2.
0 является новым и динамично развивающимся протоколом, в связи с чем возможны некоторые логические противоречия в его спецификации;
- основанная на SSL безопасность протокола может стать проблемой в высоконагруженных проектах.
Пример реализации протокола на PHP
Рассмотрим живой пример проекта клиент-серверного стороннего приложения, взаимодействующего по API с сервисом Google Таблицы.
После регистрации приложения на console.developers.google.com получим файл учетных данных и сохраним его на диске сервера:
Также сохраним файл с информацией о проекте и авторизационными данными:
Установим библиотеку GoogleApiClient для PHP и подготовим код:
Код приведенного класса устанавливает соединение с сервисом API Google Таблиц, используя учетные данные в файле (credentials.json), и обменивает их на токен авторизации, с помощью которого выполняет обращение к содержимому конкретной таблицы (аргументы $sheetRange и $spreadSheetId). При этом реализована проверка жизнеспособности токена для последующих вызовов (метод checkTokenExpired). Полученный токен записывается в файл token.json и доступен для последующих вызовов API через библиотеку:
Далее используем полученный класс для обращения к данным внутри кода проекта:
Здесь устанавливается подключение к таблицам выгрузок из CRM и расходов, а затем полученные данные обрабатываются и используются далее .
Таким образом, OAuth 2 предоставляет гибкие возможности для быстрой интеграции с внешними сервисами.
Заключение
На текущий момент протокол широко распространен и активно развивается — в сервисах соцсетей, Google, IoT-сервисах для устройств умного дома и других. Наиболее полно его возможности раскрываются при интеграции с серией сервисов одного поставщика (например, Google), где вашему приложению можно с легкостью добавлять новые интеграции, используя те же учетные данные.
Автор текста: Роман Андреев.
Работа в phpMyAdmin | REG.RU
Прежде чем описать работу в phpMyAdmin, мы расскажем, что такое SQL и для чего создавалась MySQL.
Что такое SQL и зачем он нужен
SQL (Structured Query Language) — структурированный язык запросов. Прототип этого языка появился после реляционной алгебры в конце 70-х годов. Его разработала компания IBM Research. Язык назывался SEQUEL, что расшифровывается как Structured English Query Language, но по мере развития слово «English» ушло из этого словосочетания. SQL — это «полный язык баз данных». Это значит, что он включает в себя:
- средства определения точек сохранения транзакции и фиксации или откатов транзакций,
- средства определения и манипулирования схемой БД,
- средства определения структур физического уровня, поддерживающих эффективное выполнение запросов,
- средства определения ограничений целостности и триггеров,
- средства определения представлений БД,
- средства авторизации доступа к отношениям и их полям.
Язык SQL используется для работы с реляционными базами данных. Реляционные базы данных — это базы с наборами данных, между которыми уже предопределены связи. Данные в них организованы в виде таблиц, эти таблицы состоят из строк и столбцов. В каждом столбце хранится свой тип данных, а в строках — наборы связанных значений, которые относятся к одному объекту или сущности.
Реляционная система управления базами данных (РСУБД) – система управления реляционными базами данных. Самая известная РСУБД – MySQL. Пользователь взаимодействует с ней на языке SQL, посылая запросы к базе данных. Чтобы было удобно работать с этой базой данных, на языке PHP было написано веб-приложение с графическим интерфейсом. Оно получило название phpMyAdmin.
Как войти в phpMyAdmin
Чтобы узнать, как запустить phpMyAdmin, войдите в панель управления хостингом и следуйте соответствующей инструкции:
ISPmanager
cPanel
Plesk
В меню слева выберите пункт Базы данных. Кликните по названию базы данных, которую хотите открыть в phpMyAdmin, и нажмите Web интерфейс БД:
Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.
В разделе «Базы данных» выберите phpMyAdmin:
phpMyadmin, вход MySQL
Перейдите в раздел «Базы данных». Выберите нужную базу данных и кликните phpMyAdmin:
Как узнать пароль базы данных
Логин и пароль от базы данных можно увидеть в конфигурационном файле сайта.
Информация о конфигурационных файлах, хранящих настройки подключения к базам данных популярных CMS. Если вашей CMS нет в списке или ваш сайт создан без использования CMS, обратитесь к разработчику сайта или на тематические форумы.
Доступ в phpMyAdmin по прямой ссылке в ISPmanager и Plesk
В ISPmanager и Plesk присутствует возможность доступа в phpMyAdmin по прямой ссылке (cPanel такой функционал отсутствует). Это удобно, когда необходимо дать доступ разработчикам сайта. Ссылка для входа в phpMyAdmin выглядит следующим образом:
- ISPmanager: https://serverXX.hosting.reg.ru/phpmyadmin/, где serverXX.
hosting.reg.ru — адрес сервера хостинга, его можно узнать в статье Пароли для доступа к хостингу.
- Plesk: https://splX.hosting.reg.ru:8443/phpmyadmin, где splX.hosting.reg.ru:8443 — адрес сервера хостинга, его можно узнать в статье Пароли для доступа к хостингу
База данных u1234567_default
Для подключения к phpMyAdmin вы можете использовать уже созданную базу данных u1234567_default (где u1234567 — ваш логин хостинга), которая автоматически создаётся при заказе хостинга. Реквизиты доступа к данной БД приведены в статье Пароли для доступа к хостингу.
Внимание База данных u1234567_default создаётся только при заказе тарифных планов от «Host-0» и выше. Если вы заказывали тарифный план «Host-Lite», а потом повысили его до более высокого, данная БД не создаётся. Вам необходимо создать БД самостоятельно по инструкции: Как создать базу данных MySQL
Не могу войти в phpMyAdmin
Чтобы зайти в phpMyAdmin, необходимо использовать логин и пароль пользователя базы данных. Не путайте логин и пароль пользователя базы данных с логином и паролем от услуги хостинга (u1234567).
Если пароль базы данных не подходит, вы можете изменить его на новый при помощи инструкции: Как изменить пароль базы данных?
Как создать, удалить или изменить таблицу в базе данных phpMyAdmin
Внимание! Редактирование базы данных может привести к некорректной работе вашего сайта. Перед внесением изменений создайте бэкап вашего сайта или обратитесь к разработчикам.
Как добавить новую таблицу в базу данных
-
1.Нажмите по необходимой базе данных:
-
2.Внизу страницы в блоке «Создать таблицу» введите Имя новой таблицы, количество столбцов и нажмите ОК:
- Имя создаваемых столбцов;
- Тип данных для каждого столбца;
- Длина значения каждой строки в таблице;
- По умолчанию — значение по умолчанию, которое добавляется, если строка пустая;
- Сравнение — кодировка данных;
- NULL — строка в таблице может быть пустой;
Индекс:
- PRIMARY — первичный ключ. Служит для однозначной идентификации строки;
- UNIQUE — уникальный индекс. В отличии от PRIMARY можеть использовать значение NULL;
- INDEX — индекс, который может использоваться в нескольких строках;
- FULLTEXT — полнотекстовый индекс;
- A_I (auto_increment) — автоматический счетчик для первичного ключа;
- Комментарий — пояснения для строки;
3.
Укажите данные для создания таблицы:
Localhost, phpMyAdmin, как зайти
Расшифровка значений:
4.
Нажмите Сохранить:
Как удалить базу данных phpMyAdmin
-
1.Нажмите по таблице, которую вы хотите удалить:
-
2.Перейдите на вкладку Операции:
-
3.В блоке «Удалить данные или таблицу» нажмите Удалить таблицу (DROP):
-
4.Нажмите ОК, чтобы подтвердить удаление:
Как изменить данные в таблице базы данных
- org/HowToStep»>
-
2.Нажмите по таблице, в которой вы хотите изменить данные:
-
3.Выберите нужную строку и нажмите Изменить:
-
4.Внесите изменения и нажмите ОК:
Вопрос, как обновить phpMyAdmin на хостинге, не рассматривается в данной статье, так как phpMyAdmin обновляется автоматически для всего сервера.
1.
Нажмите по необходимой базе данных:
Помогла ли вам статья?
Да
раз уже помогла
PHP Простой сценарий входа и регистрации с использованием сеанса
PHP Простой сценарий входа и регистрации:
php-simple-login-registration-scriptСкачать
Что такое PHP сценарий входа и регистрации?
Это простой сценарий входа и регистрации, основанный на PHP и MySQL. Этот сценарий использует сеанс PHP для хранения сведений о пользователе на нескольких страницах PHP, чтобы проверить, вошел ли пользователь в систему или нет. Этот скрипт имеет минимальный код HTML/PHP/MySQL, который легко понять.
Как запустить сценарий входа-регистрации:
Вы можете просто загрузить этот сценарий в виде zip-файла, извлечь его и запустить на своем компьютере.
Вот быстрые шаги для запуска этого скрипта:
- Загрузите этот скрипт в отдельную папку
- Импортируйте файл database.sql в базу данных «register_login_db»
- Теперь запустите файл index.php этой папки. На этой странице вы найдете ссылки «Войти» и «Регистрация».
- Зарегистрируйте нескольких пользователей и попробуйте войти с ними.
- Вы сможете получить доступ к содержимому page-1.php и page-2.php только после авторизации.
- Вы можете много раз выходить из системы/входить в систему, чтобы проверить это.
Понимание кода в каждом файле
Сценарий входа и регистрации PHP включает HTML-формы, код сеанса PHP и взаимодействует с базой данных MySQL для доступа к данным пользователей. Вы обнаружите, что большая часть кода хорошо управляется в отдельном файле. Вот список файлов вместе с их назначением.
- база данных.sql : Этот файл содержит запрос на создание структуры таблицы для сценария входа-регистрации. Вы можете либо импортировать этот файл, либо напрямую выполнять заданные запросы в PHP-Myadmin или доступном инструменте управления базой данных.
- register.php : Этот файл содержит HTML-форму регистрации, где пользователь может ввести свое имя, адрес электронной почты и пароль. Если регистрационные данные действительны, это даст успех, иначе выдаст ошибку.
- login.php : Этот файл содержит HTML-форму входа, где пользователь может ввести адрес электронной почты и пароль. На той же странице хранится PHP-код, чтобы проверить, совпадает ли указанный адрес электронной почты/пароль или нет. Если вход в систему выполнен успешно, он перенаправит пользователя на страницу 1.
- db-config.
php : Этот файл содержит код PHP для создания соединения с базой данных и таблицей MySQL. Страница входа и регистрации включает этот файл для взаимодействия с данными MySQL.
- page-1.php и page-2.php : Эти файлы содержат образец содержимого, доступ к которому возможен только после входа в систему. Если вы попытаетесь получить доступ к этим страницам без входа в систему, он перенаправит вас на экран входа в систему.
- logout.php : Этот файл используется для уничтожения пользовательских данных в сеансе PHP. Это означает, что пользователь выйдет из системы и будет перенаправлен на страницу входа.
Как работает код входа и регистрации PHP
В большинстве сценариев PHP используется сеанс PHP или файлы cookie для запоминания данных пользователя для входа в систему. Этот сценарий также использует сеанс PHP для отслеживания входа пользователя в систему на нескольких страницах PHP, чтобы проверить, вошел ли пользователь в систему или нет.
Вот основная идея входа и регистрации в PHP.
- Во-первых, регистрационная форма позволяет пользователям вводить информацию о пользователе в базу данных.
- Затем пользователь войдет в систему, используя свой зарегистрированный адрес электронной почты и пароль. Теперь, если адрес электронной почты и пароль найдены в базе данных, вход пользователя считается успешным. После успешного входа в систему мы сохраним адрес электронной почты пользователя в переменной сеанса PHP.
- Теперь на каждой странице содержимого мы будем проверять, доступна ли электронная почта пользователя в переменной сеанса или нет. Если доступно, пользователь может просматривать страницы содержимого, иначе он будет перенаправлен на страницу входа.
- Если пользователь щелкает ссылку выхода из системы, сеанс PHP уничтожается, и пользователю необходимо снова войти в систему, чтобы просмотреть страницы содержимого.
- Так работает регистрация/вход для защиты определенных страниц/функций только для авторизованных/вошедших в систему пользователей.
Распространенные ошибки при выполнении сценария входа и регистрации
- Вам необходимо скачать и распаковать все файлы желательно в отдельную папку.
- Убедитесь, что вы правильно создали базу данных, как указано в db-config.php
- При запуске сценария входа-регистрации убедитесь, что имя папки правильное. Иногда есть папка внутри папок. Настройте свой путь или папку соответственно.
- Понимание общего потока данных с помощью комментариев в каждом файле.
- Если вы обнаружили какие-либо проблемы со скриптом, пришлите скриншот ошибки на нашу страницу в Facebook. Мы постараемся помочь вам, если позволит наш график.
Этот код входа и регистрации PHP также доступен в Gitlab: https://gitlab.com/tutorialsclass/php-simple-login-registration-script
Загрузите простой сценарий входа и регистрации PHP в виде Zip и попробуйте:
php-simple-login-registration-scriptСкачать
Предыдущий код
Узнайте больше по похожим темам:
Учебники |
---|
Содержимое не найдено.![]() |
Упражнения и задания |
---|
Содержимое не найдено. |
Вопросы и ответы для интервью |
---|
Содержимое не найдено. |
Форма входа и регистрации с проверкой электронной почты с использованием PHP и MySQL
Здравствуйте, читатели! Сегодня в этом блоге вы узнаете, как создать форму входа и регистрации с проверкой электронной почты с помощью PHP и MySQL. Ранее я поделился блогом о том, как настроить XAMPP для отправки почты с локального хоста в PHP? Если вы еще не читали этот блог, то я хочу предложить вам сначала прочитать этот блог и продолжить его, потому что в этом блоге я научил вас, как настроить XAMPP перед отправкой почты с локального хоста.
Как мы все знаем, форма входа и регистрации представляет собой набор различных полей ввода — имя, адрес электронной почты, имя пользователя, пароль и т. д., которые используются для аутентификации пользователей перед предоставлением доступа к сайту. В нашей программе [войдите в систему и форма регистрации с проверкой электронной почты] есть одиннадцать файлов PHP, а один файл CSS, что означает, что в папке с нашим именем пользователя всего двенадцать файлов. Сначала на веб-странице отображается только форма входа и внутри формы входа есть ссылка для регистрации сейчас, чтобы перенаправить пользователя на первую регистрацию перед входом в систему. Когда пользователь пытается войти в систему, даже не заполнив форму, отображается сообщение об ошибке с пометкой «Похоже, вы еще не зарегистрированы! Нажмите на нижнюю ссылку, чтобы зарегистрироваться».
В форме регистрации, когда пользователь регистрируется, если он вводит тот же адрес электронной почты, который уже существует в нашей базе данных, отображается сообщение об ошибке с пометкой «Введенный вами адрес электронной почты уже существует!». И когда пользователь не соответствует двум комбинациям паролей, также отображается сообщение об ошибке с пометкой «Ваш пароль для подтверждения не соответствует».
Когда пользователь правильно заполнил все необходимые поля, на электронную почту пользователя будет отправлен шестизначный код подтверждения, и он будет перенаправлен на страницу подтверждения OTP. Если пользователь ввел неправильный код, отображается сообщение об ошибке с пометкой «Вы ввели неверный код!». Если пользователь покинет страницу кода подтверждения OTP, не введя действительный или правильный код подтверждения, и перейдет на страницу входа, чтобы войти с тем же адресом электронной почты и паролем, которые он использовал для регистрации, то он будет снова перенаправлен на страницу OTP и отображается информационное сообщение с пометкой «Похоже, вы не подтвердили свою электронную почту».
Когда пользователь введет правильный проверочный код, он будет перенаправлен на домашнюю страницу. На главной странице есть панель навигации с логотипом в левом верхнем углу и кнопка выхода из системы в правом верхнем углу. В центре главной страницы находится приветственное сообщение с именем пользователя, которое он ввел при регистрации в форме. И когда пользователь нажимает кнопку выхода, он будет перенаправлен на страницу входа, и в это время он может войти в систему со своим правильным адресом электронной почты и паролем и будет напрямую перенаправлен на домашнюю страницу без перенаправления на любую другую страницу.
Если вам трудно понять, что я говорю. Вы можете посмотреть полный видеоурок по этой программе (Форма входа и регистрации с подтверждением электронной почты).
Видеоруководство по форме входа и регистрации с подтверждением электронной почты
В видео вы видели демонстрацию этого проекта, и я надеюсь, вам понравится. В этом проекте я отправлял почту с Localhost с помощью PHP, и вам необходимо настроить XAMPP для отправки почты с Localhost в PHP. Если вы не настроите свой XAMPP, то ваша почта, которая используется для отправки OTP-кода пользователю, не будет отправлена, и нет смысла загружать исходные файлы этого проекта.