Как ограничить доступ на страницу?

3 ноября 2014 г. Просмотров: 757
Если появилась необходимость ограничить доступ нежелательных посетителей на страницу сайта, то самым простым решением будет использование встроенной в веб-сервер системы авторизации. Ниже - описание как именно это делается.
Создать сайт самостоятельно с Wix.com

Инструкция

  • Создайте на сервере папку для страниц, которые следует защитить, и переместите их туда. Если вы хотите ограничить доступ ко всем страницам, то этот шаг можно пропустить - защита будет организована в корневой папке вашего сайта.
  • Алгоритм действий сервера Apache таков, что найдя в папке служебный файл с именем ".htaccess", он использует содержащиеся в файле инструкции при обработке запросов посетителей сайта на любые документы этой и всех вложенных папок. Вам нужно создать этот файл и поместить в него директивы ограничения доступа ко всем или отдельным документам этой папки.Сделать это можно у себя на компьютере, воспользовавшись простым текстовым редактором, например Блокнотом. Создайте пустой файл (CTRL + N) и впишите в него эти строки:AuthType Basic
  • AuthName "Доступ к странице ограничен!"

    AuthUserFile /usr/account/site/.htpasswd

    require valid-userДиректива в первой строке включает механизм базовой авторизации (AuthType Basic). При этом виде авторизации пароль посетителя передается из браузера зашифрованным по алгоритму Base64.Директива во второй строке указывает содержание текстовой подсказки, которую браузер будет отображать при входе посетителя в защищенную часть сайта. Впишите нужный вам текст не используя в нем кавычек (").Третья строка содержит абсолютный путь к файлу, хранящему пары логин:пароль, доступ которым разрешен к страницам этой папки. Логин хранится в открытом виде, а пароль зашифрован. Абсолютный (то есть от корня сервера) путь к вашему сайту можно посмотреть в панели администрирования сайта или узнать у техподдержки хостинга. А можно воспользоваться командой phpinfo() языка PHP.Директива в четвёртой строке определяет принцип аутентификации. Если указать значение User, то допущены будут только пользователи, логины которых надо перечислить здесь же через пробел. Значение Group - только пользователи, принадлежащие к группам, которые следует указать здесь через пробел. Если Valid-user - все пользователи, логины которых перечислены в файле AuthUserFile. Естественно, при любом значении все эти пользователи для доступа должны ввести правильный пароль.

  • Созданный файл сохраните под именем .htaccess, выбрав пункт «Все файлы» в списке «Тип файла» диалога сохранения – это для того, чтобы текстовый редактор автоматически не добавил расширение txt.
  • Теперь вам следует создать файл паролей, указанный в директиве AuthUserFile - .htpasswd. Делается это утилитой htpasswd.exe из состава сервера Apache. Она находится в папке bin корневой папки сервера. Если сервер не установлен у вас, то можно скачать эту утилиту, например, здесь - http://www.intrex.net/techsupp/htpasswd.exe .Это консольная программа, то есть запускать ее следует из командной строки. В ОС Windows XP это можно сделать так: скопировать htpasswd.exe в отдельную папку, щелкнуть папку правой кнопкой мыши и выбрать пункт «Запуск командной строки здесь». В командной строке нужно ввести:htpasswd -cm .htpasswd FirstUserМодификатор "-cm" указывает, что должен быть создан новый файл паролей, а для шифрования использован алгоритм MD5 (этот алгоритм используется в ОС Windows по умолчанию). Если вместо "m" указать "d" - утилита будет использовать алгоритм шифрования DES, если "s" - алгоритм SHA, а если "p" - пароль будет сохранен без шифрования.FirstUser - это логин первого пользователя в списке, замените его на нужный вам. Пароль для него утилита спросит после того, как вы нажмете Enter. Чтобы добавить в созданный файл следующего пользователя запустите утилиту еще раз, но уже без буквы "c" в модификаторе.
  • Созданные файлы .htaccess и .htpasswd поместите на сервер вашего сайта, воспользовавшись файл-менеджером панели управления или фтп-клиентом. Файл .htaccess должен лежать в одной папке с защищаемыми страницами, а файл .htpasswd - в папке, путь к которой вы указали в директиве AuthUserFile. Обычно файлы паролей помещают в директорию, расположенной выше корневой папки сайта, чтобы исключить доступ к нему из интернета.
  • Оцените статью!