Сб. Апр 27th, 2024

Часто бывает нужно закрыть/ограничить доступ на определенную страницу сайта или сам сайт. Для этих целей существует множество способов,но мы рассмотрим самый простой — это авторизация с помощью самого веб-сервера Apache. Для этого в требуемой директории с сайтом мы создадим файл с названием .htaccess (обязательно именно так!) Хотя он может уже находится в папке — для большинства современных CMS например, он там находится изначально. Тогда надо его немного дополнить.

Вообще процедура авторизация дописывается достаточно просто и состоит из 4х строк:

AuthType Basic

AuthName «You shell not pass! Ho-Ho-Ho!»

AuthUserFile /var/.htpasswd

Require valid-user.

— где AuthName задается в кавычках любой текст,который будет отображен в окне аутентификации. В поле AuthUserFile указывается полный путь к файлу с паролем.

Сам файл .htpasswd создается с помощью команды: htpasswd -c /var/.htpasswd rusua

— где параметр задается только если надо создать новый файл,а не дополнить существующий.Далее указывается путь и  имя файла /var/.htpasswd и в конце имя будущего пользователя rusua например )) Затем попросят два раза ввести пароль и всё.Файл с паролем готов.

Для примера:

— Защищаем столь популярный PhpMyAdmin.

Открываем в редакторе файл /etc/apache2/conf.d/phpmyadmin.conf

# phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
        Options FollowSymLinks
        DirectoryIndex index.php

        <IfModule mod_php5.c>
                AddType application/x-httpd-php .php

                php_flag magic_quotes_gpc Off
                php_flag track_vars On
                php_flag register_globals Off
                php_value include_path .
        </IfModule>
        AuthType Basic
        AuthName «Not so fast!»
        AuthUserFile /var/.htpasswd
        Require valid-user
</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authn_file.c>
    AuthType Basic
    AuthName «phpMyAdmin Setup»
    AuthUserFile /etc/phpmyadmin/htpasswd.setup
    </IfModule>
    Require valid-user
</Directory>

# Disallow web access to directories that don’t need it
<Directory /usr/share/phpmyadmin/libraries>
    Order Deny,Allow
    Deny from All
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Order Deny,Allow
    Deny from All
</Directory>

Красным выделено дополнение к стандартному конфигу. Как видите авторизация прописывается внутри тегов <Document> </Document>.

— Пример защиты страницы столь же популярной Munin:

Открываем в редакторе /var/www/munin/.htaccess (или создаем если нет) и вписываем:

AuthType Basic
AuthName «Munin Login»
AuthUserFile «/var/.htpasswd»
Require valid-user

Тут просто в файл добавили строки авторизации. Тег <Document> </Document> тут не нужен так как файл .htaccess может принадлежать и воздейстовать только на тут папку,в которой лежит.

от RUSUA

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Анти-спам: выполните заданиеWordPress CAPTCHA