7.5.1. Файлы .htaccess
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-сервера и должна быть запрещена для просмотра пользователям.
Данный текст является ознакомительным фрагментом.