Создание плагина входа (plugin login)
Плагин (от англ. plug-in — «подключаемый») — это независимый программный модуль, устанавливаемый в основную программу (браузер, редактор, CMS, игру) для расширения ее возможностей без изменения основного кода.
Плагин входа (авторизации) — это модуль, расширяющий приложение функциями проверки учетных данных, позволяя пользователям безопасно входить, регистрироваться и защищать свои аккаунты.
Основные понятия
HTML (HyperText Markup Language) — это стандартный язык гипертекстовой разметки документов в интернете, используемый для создания структуры и содержимого веб-страниц.
CSS (Cascading Style Sheets) — это язык описания (каскадные таблицы стилей) внешнего вида веб-страниц, созданных с помощью
HTML.
PHP (PHP: Hypertext Preprocessor) — это один из самых популярных скриптовых языков программирования с открытым исходным кодом, специально разработанный для серверной веб-разработки.
PDO (PHP Data Objects) — это популярное расширение для языка программирования PHP, предоставляющее единый унифицированный интерфейс для работы с различными базами данных (MySQL, PostgreSQL, SQLite и др.)
JavaScript (JS) — это интерпретируемый, мультипарадигменный язык программирования высокого уровня, ставший стандартом для создания интерактивных веб-страниц.
Введение
Данный модуль в своей основе представляет из себя шаблон HTML - разметки с таблицей стилей CSS и адаптивно подключаемыми страницами на скриптах PHP с расширением PDO, а так же в минимальной степени JavaScript.
Основные этапы и Формы
Создание директорий модуля и приложения
Временный шаблон sample.php
Главный шаблон формы auth.php
Верхний подключаемый компонент шаблона header.php
Нижний подключаемый компонент шаблона footer.php
Форма регистрации register.php
Форма авторизации login.php
Форма верификации (подтверждения почты) confirm.php
Форма сброса пороля reset.php
Форма двухфакторная аутентификация 2fa.php
Форма регистрации двухфакторной аутентификации otp.php
Форма редактирования профиля пользователя edit.php
Форма удаления регистрации delete.php
Проверка вводимых данных, вывод ошибок на стороне клиента
Проверка вводимых данных, вывод ошибок на стороне сервера
Логика работы модуля
Работа с БД
Работа с почтой
Работа с OTP QR-code
Загрузка фото на сервер
lang
- test_lang.php
<?php
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
echo $lang . "<br>"; // Выведет, например, 'ru'
?>
Эта строка — часть HTTP-заголовка Accept-Language, используемого браузерами для сообщения серверу предпочтительных языков. Она означает: «Предпочтительный язык — русский (ru), если его нет, то английский (en) с коэффициентом приоритета 0.7». Значение q (quality) от 0 до 1 определяет приоритет (1 — высший).
Основные детали:
ru: Язык с наивысшим приоритетом (по умолчанию q=1.0), так как приоритет не указан.
en; q=0.7: Английский язык приемлем, но с более низким приоритетом (70% от максимального).
Применение: Сервер использует эту информацию для автоматического выбора версии страницы.
Эта настройка помогает автоматически переключать языки сайта без явного выбора пользователем.
И его укороченная часть запроса
- test_lang_min.php
<?php
$serverLang = '';
if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
$serverLang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
$lang_min = substr($serverLang, 0, 2);
// $lang_min обычно это будет двухбуквенный код, например: 'en', 'fr', 'de', etc.
echo $lang_min . "<br>"; // Выведет, например, 'ru'
?>