Тупой auth registration php.
Будем учиться делать простую аутентификацию пользователей на сайте. На сайте могут быть страницы только для авторизованных пользователей и они будут полноценно функционировать, если добавить к ним наш блок аутентификации. Чтобы его создать, нужна база данных MySQL. Она может иметь 5 колонок (минимум), а может и больше, если вы хотите добавить информацию о пользователях. Назовём базу данных “Userauth”.
Создадим в ней следующие поля: ID для подсчёта числа пользователей, UID для уникального идентификационного номера пользователя, Username для имени пользователя, Email для адреса его электронной почты и Password для пароля. Вы можете использовать для авторизации пользователя и уже имеющуюся у Вас базу данных, только, как и в случае с новой базой данных, создайте в ней следующую таблицу.
Код MySQL
CREATE TABLE `users` (`ID` int (11) NOT NULL AUTO_INCREMENT, `UID` int (11) NOT NULL, `Username` text NOT NULL, `Email` text NOT NULL, `Password` text NOT NULL, PRIMARY KEY (`ID`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Теперь создадим файл "sql.php". Он отвечает за подключение к базе данных. Данный код, во первых, создаёт переменные для сервера и пользователя, когда он подключается к серверу. Во-вторых, он выберет базу данных, в данном случае "USERAUTH". Этот файл нужно подключить в "log.php" и "reg.php" для доступа к базе данных.
Код PHP
Далее страница входа, пусть она называется "login.php". Во-первых, она проверяет введённые данные на наличие ошибок. Страница имеет поля для имени пользователя, пароля, кнопку отправки и ссылку для регистрации. Когда пользователь нажмёт кнопку «Вход», форма будет обработана кодом из файла "log.php", а затем произойдёт вход в систему.
Код PHP
Форма входа
Имя пользователя | |
Пароль | |
Регистрация |
Затем пишем скрипт для входа в систему. Назовём его "log.php". Он имеет функцию для очистки входных данных от SQL-инъекций, которые могут испортить ваш скрипт. Во-вторых, он получает данные формы и проверяет их на правильность. Если входные данные правильны, скрипт отправляет пользователя на страницу авторизованных пользователей, если нет – устанавливает ошибки и отправляет пользователя на страницу входа.
Код PHP
Сделаем страницу регистрации, назовём её "register.php". Она похожа на страницу входа, только имеет на несколько полей больше, а вместо ссылки на регистрацию – ссылку на login.php на случай, если у пользователя уже есть аккаунт.
Код PHP
Форма регистрации
Имя пользователя | |
Пароль | |
Повтор пароля | |
У меня есть аккаунт |
Теперь сделаем скрипт регистрации в файле "reg.php". В него будет включён "sql.php" для подключения к к базе данных. Используется и та же функция, что и в скрипте входа для очистки поля ввода. Устанавливаются переменные для возможных ошибок. Далее – функция для создания уникального идентификатора, который никогда ранее не предоставлялся. Затем извлекаются данные из формы регистрации и проверяются. Происходит проверка, что адрес электронной почты указан в нужном формате, а также, правильно ли повторно указан пароль. Затем скрипт проверяет, нет ли в базе данных пользователя с таким же именем, и, если есть, сообщает об ошибке. И, наконец, код добавляет пользователя в базу данных.
Код PHP
Ещё нужно сделать скрипт для выхода пользователя из системы. Он прекращает сессию для пользователя с данным уникальным идентификатором и именем, а затем перенаправляет пользователя на страницу входа в систему.
Код PHP
И, наконец, скрипт "auth.php" можно использовать, чтобы сделать страницы доступными только для авторизованных пользователей. Он проверяет данные входа и, если они верны, позволяет пользователю просматривать страницы, а если нет, просит авторизоваться. Кроме того, если кто-то попытается взломать сайт создав одну из сессий, она будет прервана, как в общем случае.
Код PHP
Одно из условий в коде выше является предметом вопроса в .
Следующий код нужно вставить на страницу для авторизованных пользователей, она называется, например, "member.php", а у Вас может называться как угодно.
Код PHP
Вам разрешён доступ к этой странице. Выйти ( )
Аутентификация пользователей готова!
05.10.2015 Ромчик
Доброго времени суток. В данной статье мы на примере разберем регистрацию пользователя в . Затем активацию пользователя , путем подтверждения его email адреса. Ну и напоследок, авторизацию пользователя в . Но авторизация должна проходить только активных пользователей.
Первое, что мы сделаем это создадим контроллер и вид для регистрации.
Создание формы регистрацииПереходим в директорию с шаблонами resources и в ней создаем поддиректорию auth. Теперь в папке auth создадим файл register.blade.php со следующим кодом:
Регистрация
{{--Ошибки--}} @if ($errors->has()) ×-
@foreach($errors->all() as $error)
- {{{ $error }}} @endforeach
Я не буду объяснять код выше, тут и так все понятно.
App/Http/Controllers/Auth/AuthController.php
Мы будем только переопределять методы контроллера AuthController.php . Так для отображения формы регистрации существует метод getRegister. Этот метод мы не трогаем.
Теперь перейдем к роутам. Открываем файл:
И определим роут к нашему методу:
Route::get("auth/register", "Auth\AuthController@getRegister");
Теперь откроем в браузере наше приложение. Отлично, видим форму для регистрации.
Регистрация пользователя вДавайте сразу определим роут для регистрации пользователя. Перейдем в файл:
App/Http/Controllers/routes.php
И добавим следующий роут:
Route::post("auth/register", "Auth\AuthController@postRegister");
Теперь создадим таблицу для хранения пользователей. Миграция для этой таблицы уже есть, но она нам не подходит. Изменим ее. Переходим в файл:
Database/migrations/2014_10_12_create_users_table.php
И изменим код:
< td >< input type = " text " name = " " maxlength = " 50 " value = " " class = " bx-auth-input " />
В файле стилей шаблона надо прописать правила, чтобы скрыть это поле.
Urdn , .urdn td { display: none ; }
В файл result_modifier.php добавим обработку нашего фейкового поля:
Пример #2 Пример Digest HTTP-аутентификации
Это пример реализации простого скрипта Digest HTTP-аутентификации. За подробностями обращайтесь к » RFC 2617 .