Как сделать систему авторизации и регистрации на php

Работа с уведомлениями

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

Содержание писем находится в папке темы (/templates/), в файлах csu_mail_for_admin.tpl (для администратора) и csu_mail_for_user.tpl (для пользователя соответственно).

Стандартный вид письма, отправляемого администратору:

Стандартный вид письма, отправляемого пользователю:

Помимо этого, в содержании письма для администраторов доступны следующие теги:

  1. {csu_user_login} – логин пользователя.
  2. {csu_user_email} – e-mail пользователя.
  3. {csu_user_id} – ID пользователя.
  4. {csu_user_ip} – IP пользователя на момент регистрации.
  5. {csu_site_name} – название сайта.
  6. {csu_site_url} – адрес сайта.

В содержании же письма для пользователей доступен немного другой их перечень:

  1. {csu_user_login} – логин пользователя.
  2. {csu_user_password} – пароль пользователя.
  3. {csu_user_id} – ID пользователя.
  4. {csu_site_name} – название сайта.
  5. {csu_site_url} – адрес сайта.

Помимо этого, в содержании писем доступно использование HTML-разметки.

Чтобы вы представляли, что в итоге у вас должно получиться – посмотрите эту видеодемонстрацию:

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

Приятного пользования!

Как обезопасить свой сайт

Для безопасности вашего сайта, важны несколько пунктов.

  • Проще всего делать сайт с единой точкой входа. Коротко об этом поговорим чуть ниже.
  • Экранировать все запросы. Сделать это можно в ручную или же с помощью подготовленных запросов.
  • Ограничивать данные которые может ввести пользователь

Единая точка входа

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

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

В корне сайта нужно создать файл «.htaccess» и прописать в нем правила переадресации.

Этот файл даст хостингу понять, что мы включаем переадресацию на index.php всех запросов, кроме картинок, стилей css и js скриптов.

Экранизация запросов

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

  • Ручная проверка данных
  • С помощью подготовленных запросов

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

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

login.php

Давайте теперь сохраним этот файл. Так как будем его использовать дальше. Назовем его к примеру login.php и положим его в корень сайта.

Установка модуля

1. Для начала отключим стандартную регистрацию в DLE. Для этого подключитесь к вашему сайту по FTP.

2. В папке /engine/ откройте файл engine.php и в самый его верх вставьте:

Сохраните изменения и отправьте файл обратно на сайт.

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

4. В файл main.tpl вашей темы, в самый его низ, перед закрывающим тегом </body> подключите скрипт вывода модального окна:

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

6. И завершающим этапом очистите кэш сайта. Установка закончена.

Итоги

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

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

Вы наверное заметили что мы не сделали страницу выхода из аккаунта. Да, так и есть, попробуйте сделать ее сами. Оставлю только подсказку, сессию можно удалить с помощью функции «session_destroy()», что будет означать что мы вышли из аккаунта.

3.93/5 (21)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector