1.7 KiB
1.7 KiB
Auth Form (PHP drop-in)
Современная форма авторизации с проверкой доступа к сайту через MariaDB. Файлы можно копировать прямо в папку существующего сайта.
Требования
- PHP 7.4+ (mysqli, sessions)
- MariaDB
Установка
- Создайте базу и таблицы:
- Запустите SQL из
db/schema.sql
- Запустите SQL из
- Заполните подключение к БД:
- Отредактируйте
auth/config.php
- Отредактируйте
- Добавьте пользователя и доступ:
INSERT INTO users (login, password_hash) VALUES ('demo', '<HASH>');INSERT INTO user_access (user_id, site_key) VALUES (1, 'example.com');
Хэш пароля
Создать bcrypt-хэш можно так:
<?php
echo password_hash("yourPassword", PASSWORD_BCRYPT);
Интеграция в сайт (NAS)
- Скопируйте папку
authв корень сайта. - На защищаемых HTML-страницах (кроме главной) добавьте:
<meta name="site-key" content="example.com" />
<script src="/auth/guard.js"></script>
- Главную страницу не защищайте — вход находится в
/auth/login.html. - Если страницы могут быть PHP, используйте серверную защиту:
<?php
define("AUTH_SITE_KEY", "example.com");
require __DIR__ . "/auth/guard.php";
Лимиты и логирование
- Ограничение попыток: 10 запросов за 5 минут на IP
- Логи авторизации:
auth/logs/auth.log(JSONL-строки)