Система авторизации HTTP-Basic (MySQL)

Автор: content Воскресенье, Апрель 8th, 2012 Нет комментариев

Рубрика: Язык PHP

Наверняка многие Web-разработчики использовали авторизацию, реализованную в Web-сервере Apache и основанную на конфигурационных файлах .htaccess и .htpasswd. Это очень удобный способ, можно закрыть целую директорию, с системой администрирования и больше ни о чём не заботится — Apache сделает за вас всю грязную работу, спросит у пользователя пароль и проверит его. У этого метода имеются фундаментальные недостатки — очень сложно настроить конфигурационные файлы, пути в которых должны быть абсолютными, а пароли зашифрованными и сложно добавлять пользователей — это необходиомо осуществлять вручную при помощи утилиты htpasswd.exe, входящей в состав дистрибутива Web-сервера Apache.

Наверняка вы задумывались как бы срестить этот способ аутентификации с базой данных MySQL или файлом. Т.е. чтобы пользователей можно было безболезненно добавлять при помощи Web-интерфейса или они сами могли регистрироваться в системе? При этом в момент авторизации их бы встречало привычное окно HTTP-Basic авторизации? Данный скрипт поможет вам осуществить эту идею.

Хранение пользователей и их паролей осуществляется в таблице базы данных MySQL. Вы без труда сможете изменить эту таблицу или использовать уже существующую таблицу форума, интернет магазина и т.п. При этом, чтобы защитить файл в него достаточно включить один модуль системы авторизации «security_mod.php». Этот модуль будет полезен всем, кто пользуется скриптами расположенными в разделе downloads IT-студии SoftTime, системы администрирования которых необходимо защищать при помощи связки .htaccess и .htpasswd.

Скачать систему авторизации HTTP-Basic. Размер: 9 Кб.

Установка

Для успешного функционирования системы, необходимо создать базу данных, в которой следует разместить таблицу с именем 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.

Автор: IT-студия SoftTime (softtime.ru)

Источник: http://www.php.su/articles/?cat=examples&page=046

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты