Система авторизации HTTP-Basic (MySQL)
Автор: IT-студия SoftTime (softtime.ru)
Наверняка многие Web-разработчики использовали авторизацию,
реализованную в Web-сервере Apache и основанную на конфигурационных файлах .htaccess
и .htpasswd. Это очень удобный способ, можно закрыть целую директорию,
с системой администрирования и больше ни о чём не заботится - Apache
сделает за вас всю грязную работу, спросит у пользователя пароль и
проверит его. У этого метода имеются фундаментальные недостатки - очень
сложно настроить конфигурационные файлы, пути в которых должны быть
абсолютными, а пароли зашифрованными и сложно добавлять пользователей -
это необходиомо осуществлять вручную при помощи утилиты htpasswd.exe,
входящей в состав дистрибутива Web-сервера Apache.
Наверняка вы задумывались как бы срестить этот способ
аутентификации с базой данных MySQL или файлом. Т.е. чтобы пользователей
можно было безболезненно добавлять при помощи Web-интерфейса или они сами
могли регистрироваться в системе? При этом в момент авторизации их бы
встречало привычное окно HTTP-Basic авторизации? Данный скрипт поможет вам
осуществить эту идею.
Хранение пользователей и их паролей осуществляется в таблице
базы данных MySQL. Вы без труда сможете изменить эту таблицу или
использовать уже существующую таблицу форума, интернет магазина и т.п. При
этом, чтобы защитить файл в него достаточно включить один модуль системы
авторизации "security_mod.php". Этот модуль будет полезен всем, кто
пользуется скриптами расположенными в разделе downloads IT-студии
SoftTime, системы администрирования которых необходимо защищать при помощи
связки .htaccess
и .htpasswd.
Установка
Для успешного функционирования системы, необходимо создать
базу данных, в которой следует разместить таблицу с именем userlist.
SQL-запрос, создающий эту таблицу находится в файле dump.sql.
На разных хостингах базы данных создаются по-разному:
посредством web-интерфейса, по запросу администратору, командой SQL
(create database dbase;). Настройка соединения с базой данных
осуществляется в файле config.php, в котором необходимо выставить адрес
сервера MySQL ($dblocation), имя базы данных ($dbname), имя пользователя
($dbuser) и пароль ($dbpasswd). Все четыре переменные Вам должен
предоставить хостинг. Для того, чтобы защитить страницу необходимо в
начало этой страницы включить файл security_mod.php:
<?php
require_once ("security_mod.php");
?>
как это продемонстрировано в тестовой странице index.php. По
умолчанию в системе создан один пользователь admin, с паролем admin, но вы
можете создать несколько пользователей с различными паролями.
Обратная связь
e-mail: softtime@softtime.ru Загрузить
новые версии счётчика, а так же ряда других полезных Web-приложений можно
по адресу http://www.softtime.ru/info/downloads.php.