7.5.1. Файлы .htaccess

We use cookies. Read the Privacy and Cookie Policy

7.5.1. Файлы .htaccess

Если какая-либо директория Web-сервера должна иметь особые права, то лучше создать в этом каталоге файл .htaccess. Разрешения, описанные в таком файле, действуют на директорию, в которой он находится. Рассмотрим пример содержимого файла .htaccess:

AuthType Basic

AuthName "By Invitation Only"

AuthUserFile /pub/home/flenov/passwd

Require valid-user

В данном файле для текущей директории указывается тип аутентификации Basic. Это значит, что будет использоваться окно для ввода имени и пароля. Текст, указанный в директиве AuthName, отобразится в заголовке окна. На рис. 7.2 приведен пример такого окна.

Рис. 7.2. Окно запроса имени и пароля

Директива AuthUserFile задает файл, в котором находится база имен и паролей пользователей сайта. Последняя команда Require в качестве параметра использует значение valid-user. Это значит, что файлы в текущей директории смогут открыть только те пользователи, которые прошли аутентификацию.

Вот таким простым способом можно запретить неавторизованный доступ к директории, содержащей секретные данные или сценарии администратора.

Как я уже говорил, в файле .htaccess могут находиться и директивы типа allow from, которые мы рассматривали выше (см. разд. 7.3).

Например, если нужно разрешить доступ только с определенного IP-адреса, то в файле может содержаться следующая строка:

allow from 101.12.41.148

Если объединить защиту директивой allow from и требование ввести пароль, то задача хакера по взлому сервера сильно усложнится. Здесь уже недостаточно знания пароля, необходимо иметь конкретный IP-адрес для обращения к содержимому директории, а это требует значительных усилий.

Эти же параметры можно указывать и в файле httpd.conf, например:

<directory /путь>

 AuthType Basic

 AuthName "By Invitation Only"

 AuthUserFile /pub/home/flenov/passwd

 Require valid-user

</directory>

Чем будете пользоваться вы, зависит от личных предпочтений. Мне больше нравится работать с файлом .htaccess, потому что настройки безопасности будут храниться в той же директории, на которую устанавливаются права. Но это небезопасно, потому что хакер может получить возможность прочитать этот файл, а это лишнее.

Использование централизованного файла httpd.conf дает преимущества, т.к. он находится в директории /etc, которая не входит в корень Web-сервера и должна быть запрещена для просмотра пользователям.

Данный текст является ознакомительным фрагментом.