Обучение HTML, Excel, Word. Как сделать свой сайт бесплатно

Microsoft Office

Сайтостроение

HTML

Программинг

Компьютер

Графика

Разное

· Основы Word
· Основы Excel
· Основы VBA
· Основы OpenOffice
· Как сделать сайт
· Свой сайт от А до Я
· Оптимизация сайта
· Шаблоны для сайта
· Обзор CMS
· Основы HTML
· HTML-теги
· Основы CSS
· Основы PHP
· Основы JavaScript
· Софт для сайта
· Что внутри ПК
· ПК для чайников
· Все о BIOS
· Web-графика
· САПР: AutoCAD
· Статьи
· Форум
· SEO-новости
Главная страница Карта сайта
Учебник PHP
Основы SQL
  1. Введение
  2. Инструменты
  3. Первый шаг
  4. Структура языка
  5. Массивы
  6. Глобальные массивы
  7. Cookies
  8. Сессии
  9. Загрузка файлов
  10. Работа с файлами
  11. Работа с базами данных
  12. Работа в сети
  13. Отправка почты
  14. Безопасность
  15. Автоматизация
  16. Регулярные выражения в PHP
  17. Интеграция
 



HTTP-Аутентификация

Автор: Артемьев Сергей Игоревич
ICQ: 438856621
email: _spin_@bk.ru

HTTP-аутентификация (или HTTP Basic-авторизация) часто используется для защиты отдельных разделов сайта (например, раздела управления). Для огранизации защиты используются средства web-сервера. Мы рассмотрим настройку на примере Apache.


Сервер Apache при обращении к любому каталогу сервера автоматически проверяет наличие в нём файла .htaccess (имя файла начинается с точки). Это специальный файл, в котором можно задать настройки веб-сервера, которые он будет применять к данному каталогу и всем его подкаталогам. Большинство современных провайдеров разрешают использование файлов .htaccess, пусть и с некоторыми ограничениями. Узнать точнее о допустимых директивах .htaccess вы сможете из описания своего тарифного плана или от службы технической поддержки вашего провайдера.


Итак, рассмотрим конкретный пример - защиту одного из разделов сайта. Создадим в каталоге web-страниц сайта директорию members и сохраним в неё файл .htaccess следующего содержания:

DirectoryIndex index.htm members.php 
AuthName "только для зарегистрированных пользователей" 
AuthType Basic 
AuthUserFile 	/home/mySite/config/.htpasswd 
Require valid-user

Особенность файла .htaccess - он должен быть сохранён в формате Unix. Сделать это можно при помощи некоторых текстовых редакторов, например AkelPad.

Директивы файла .htaccess записываются в виде <имя_директивы><пробел><список_значений>. В данном случае мы использовали пять директив:

DirectoryIndex - задаёт страницу по-умолчанию. Можно перечислить несколько вариантов через запятую. Эта страница будет отображаться, когда пользователь вводит адрес без укзания файла (например, http://localhost/members/). В данном случае Apache будет искать сначала index.htm, затем members.php. Как только файл найден - он загружается, а поиск прекращается. Если ни одна страница не найдена - пользователь получит ошибку 404 "Документ не найден".

AuthName определяет приглашение, котрое пользователь увидит в окне ввода пароля. Значение должно быть заключено в двойные кавычки.

AuthType определяет режим авторизации. Возможных значений всего два: Basic и Digest. Метод Digest использует для защиты большое количество параметров сервера и клиента, обеспечивает более высокую защищённость, но в большинстве браузеров не поддерживается и используется только в специализированных системах. Для Интернет-пользователей применяется только режим Basic. Хотя он и обеспечивает доступ только по логину и паролю, зато его поддерживают практически все существующие браузеры.

Директива AuthUserFile задаёт местоположение файла с паролями. Здесь необходимо указать полный путь к файлу, начиная с корневого каталога сайта. В целях безопасности этот файл обычно располагают за пределами каталога web-страниц и скриптов (т.е. корневого каталога web-страниц).

Последний атрибут Require задаёт параметры допуска пользователей. Здесь можно задать через пробел имена пользователей из файла .htpasswd, которым разрешен доступ к каталогу. Если указать значение valid-user, то доступ будет предоставляться любому пользователю, данные которого есть в файле паролей.

Файл .htpasswd содержит список логинов и их зашифрованные пароли. Для его создания необходимо использовать специальную утилиту htpasswd.exe, которую можно бесплатно скачать в Интернете. Кроме того, эта утилита распространяется вместе с дистрибутивом Apache (подкаталог bin каталога установки).

Для создания нового файла и добавления в него пользователя admin c паролем TestPassword запустите эту утилиту со следующими параметрами:

htpasswd.exe -cb ".htpasswd" admin TestPassword

В том же каталоге, откуда вы запускали htaccess.exe появится файл .htpasswd, который необходимо скопировать на сервер.

Например, у вас на сервере есть следующая структура каталогов:

/home/mySite/	
		public_html/
			members/
			images/
			styles/
		config/
		

Здесь public_html - корневой каталог web-страниц, а /home/mySite/ - корневой каталог вашего сайта (его вы сможете увидеть только через FTP- или SSH-подключение).

Т.к. нам необходимо защитить только каталог members, то мы должны скопировать в него наш файл .htaccess, а файл с паролями - поместить в config.

Теперь в браузере набираем строку http://mySite/members и (если всё сделали правильно) - браузер попросит нас ввести логин и пароль. Вводим свои логин и пароль и получаем доступ к серверу, а если нажмём "Отмена" - получим сообщение о том, что сервер требует авторизации.

Напоследок небольшой штрих - запретим просмотр через браузер всех файлов, начинающихся с ".ht". Обычно такая защита включена для всего сервера, но подстраховаться никогда не помещает. Для этого сделаем ещё один файл .htaccess и поместим его в корневой каталог веб-страниц, предварительно вписав следующую директиву:

<Files ~ "^.ht">     
	Order allow,deny
   Deny from all 
</Files> 

Более подробное описание директив .htaccess можно найти на официальном сайте Apache и просто с помощью поисковика, благо описаний и переводов официальной документации на русский язык уже сделано множество.

Не стоит злоупотреблять basic-авторизацией. Большинство пользователей уже привыкли быстро и легко регистрироваться на сайтах и управлять своими аккаунтами и паролями, а Basic-авторизация не всегда обеспечивает простоту и надёжность таких манипуляций.

 

top




 




Спасибо, что заглянули на сайт. Надеюсь, Вам понравилось. Заходите еще. Здесь всегда рады вам :)
При копировании материалов, размещенных на сайте, ссылка на первоисточник обязательна.
Если понравился этот сайт..

© 2005-2012
Юрий Кордык All Rights Reserved

 

E-mail:
admin@on-line-teaching.com