Сервер Apache с помощью настроек (файл .htaccess) позволяет защитить папку от свободного доступа — только через логин и пароль.
Зачем это надо:
— защитить папки с важными данными от индексации роботами (несмотря на инструкции в robots.txt — поисковые машины индексируют всё, до чего дотянутся)
— защитить от вредителей, которые пытаются попасть в административную панель управления CMS (папка administrator для Joomla и папка wp-admin для WordPress)
Примечание: для 1С Битрикс данный вариант использовать нельзя, т.к. в папке administrator находятся модули, необходимые для работы остального сайта. Если на админку Битрикс сделать пароль, то большая часть сайта перестанет работать.
После установки защиты на папку у нас будет фактически двухуровневая аутентификация такого вида:
1-й этап — сервер запрашивает разрешение на доступ к папке administrator (внутри которой находится index.php, который запускает административную панель Joomla)
2-й этап — стандартный запрос на вход в админку Joomla
Как сделать такую красоту?
А) Внутри защищаемой папки создаем файл .htaccess следующего вида (обычный текстовый файл формата ANSI)
AuthType Basic
AuthName «That’s protected Area!»
AuthUserFile /home/uXXXXX/www/site.ru/.htpasswd
require valid-user
<Files .htpasswd>
deny from all #запрет доступа из браузера к .htpasswd
</Files>
Или как вариант (если допускает Ваш сервер) — положить файл с паролем на уровень площадки на сервере — туда вообще браузеру доступа нет.
AuthType Basic
AuthName «That’s protected Area!»
AuthUserFile /home/uXXXXX/.htpasswd
require valid-user
Директива AuthType. Тип используемой аутентификации. Для базовой аутентификации эта директива должна иметь значение: Basic
В директиве AuthName указываем сообщение для пользователя, в нашем случае «That’s protected Area!». Сообщение можно указать другое.
Для желающих потроллить хакеров можно сделать:
— логин вида superuser1917
— сообщение вида «Requires the Administrator password!» (требуется пароль Administrator)
Пусть думают, что основной логин Administrator и к нему перебирают пароль :)
В директиве AuthUserFile указываем абсолютный путь к файлу с логинами/паролями. Это пример для хостинга MasterHost, для другого хостинга путь будет другой.
«Путь /home/uXXXXX/.htpasswd обозначает полный путь к файлу паролей на диске нашего сервера. Если, например, вы поместите файл .htpasswd (в нем будут пароли) в домашний каталог, куда вы попадаете зайдя на сервер по FTP, то путь к этому файлу будет иметь вид /home/uXXXXX/.htpasswd, где uXXXXX — наименование вашей виртуальной площадки (например, u12345).
Если вы создаете файл .htaccess на своем компьютере, а не сразу на сервере при помощи текстового редактора, обратите внимание на то, что .htaccess должен передаваться по FTP строго в текстовом (ASCII) режиме.»
Директива Require
Одно или несколько требований, которые должны быть выполнены для получения доступа к закрытой области.
require valid-user — разрешен доступ всем прошедшим проверку
require user admin alex mango — разрешен доступ только посетителям с именами admin, alex, mango. Естественно, они должны пройти аутентификацию.
require group admins — разрешен доступ всем пользователям из группы admins
После создания такого файла и перемещения его на сервер — при попытке войти в админку будет появляться запрос логина и пароля для входа в папку. Система нас не пустит, т.к. у нас собственно пока отсутствует файл с логином и паролем.
Создаем в указанном месте (или на локальном ПК с передачей его по FTP) файл .htpasswd. Файл состоит из строк, каждая из которых соответствует паре логин:пароль. Логин отделяется от хеша двоеточием. Это обычный текстовый файл ANSI, каждая строка которого представляет из себя
login:password
Метод авторизации с использованием такого файла носит название базового (англ. basic authentication). Некоторые другие веб-серверы, например, nginx, также могут работать с этим файлом.
Название начинается с точки, так как точка в Unix-подобных операционных системах указывает на атрибут «скрытый». Кроме того, Apache не отдаёт по запросу файлы, имя которых начинается с точки, что позволяет размещать файл паролей внутри директорий, доступных анонимным пользователям.
Логин и пароль необходимо придумать самостоятельно.
Пароль может быть в виде:
— собственно пароль без шифрования
— хеш пароля MD5 (модифицированный в проекте Apache)
— хеш пароля MD5 (с «солью» в виде логина пользователя)
— системная функция crypt
— хеш пароля SHA (последняя актуальная версия SHA-3 от 2015 г., для версий SHA-0, SHA-1 и SHA-2 найден вектор атаки)
Какой именно вариант — зависит от настроек хостинга (точнее настроек Apache на хостинге), нужно узнавать в техподдержке. Обычно MD5.
Получить хеш пароля MD5 можно сделать несколькими путями:
— использовать онлайн сервисы для создания хеша https://htmlweb.ru/service/htpasswd.php
— использовать встроенную программу сервера Apach — htpasswd
— использовать ее аналог для Windows — htpasswd.exe
Синтаксис использования программы htpasswd.exe в среде Windows (консоль)
htpasswd.exe -mc .htpasswd user1
создаем новый файл паролей htpasswd.exe, пароль и его подтверждение будут запрошены интерактивно
htpasswd.exe -m .htpasswd user2
добавляем пользователя user2 в существующий файл паролей htpasswd.exe, запросив пароль интерактивно
В результате будет получен файл с содержимом вида
user1:hash_pass1
user2:hash_pass2
После окончания заведения всех логинов файл нужно загрузить на сервер.
Подпишитесь в VKontakte - нажмите кнопку | ||
Подпишитесь в Telegram - нажмите кнопку | ||
Наша группа ODNOKLASSNIKI |
Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла
Запрос на размещение Вашего рекламного поста (тема и email будут добавлены автоматически в письмо)
В Вашем браузере должна быть настроена обработка ссылок mailto
site_post@bk.ru
или просто скопируйте адрес e-mail
Почитать в разделе
ФАЙЛ .htaccess

(Читать полностью...)
- Всего статей в разделе: 3
- Показано статей в списке: 2
- Сортировка: название по алфавиту
301 Redirect

(Читать полностью...)
Защита от прямого копирования картинок

(Читать полностью...)