Наверняка многие 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:
require_once ("security_mod.php"); ?>
как это продемонстрировано в тестовой странице index.php. По умолчанию в системе
создан один пользователь admin, с паролем admin, но вы можете создать несколько
пользователей с различными паролями.
Скачать бесплатно |