Содержание
Создание плагина входа (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
- Создание блочной адаптивной формы HTML
- Подключение стилей CSS
- Переводы приложения lang.php
- Сессии 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' ?>

