С помощью директивы Options
можно определить функции сервера, которые будут доступны для использования в определяемом каталоге. Данную директиву можно использовать как в файлеhttpd.conf, так и в файлах .htaccess. Допустимые опции для директивы Options представлены в таблице 16.2.Значения директивы Options
Таблица 16.2| Значение | Описание |
|---|---|
| None | He разрешается использование каких-либо функций |
| All | Разрешаются все функции |
| FollowSymLinks | Разрешается использовать символические ссылки. С точки зрения безопасности не рекомендуется использовать этот режим |
| SymLinksIfOwnerMatch | Разрешается использование символических ссылок, если они указывают на объекты, которые принадлежат тому же пользователю, что и сами ссылки |
| ExecCGI | Разрешается выполнение CGI-сценариев |
| Indexes | Если эта опция выключена, сервер не будет передавать содержимое каталога при отсутствии файла index.html |
| Includes | Разрешено использование серверных включений. Рекомендую отключить эту опцию, поскольку это сильно нагружает сервер |
| IncludesNoExec | Разрешает использование серверных включений, но запрещает запуск из них внешних программ |
Директива Limit
ограничивает доступ к файлам в определенном каталоге:Limit метод
Параметр «метод» определяет метод передачи: GET или POST. Директиву Limit
можно использовать внутри блоков Directory, Location или в файле.htaccess.В блоке Limit
можно использовать такие директивы: allow (разрешить), deny (запретить), order (порядок), require (требуется). После директивы allow следует слово from, после которого можно указать IP-адрес, адрес сети, домен или просто имя компьютера. Слово all обозначает все компьютеры. Директива order определяет порядок выполнения директив allow и deny. Например, вам требуется запретить доступ всем компьютерам, кроме компьютеров, которые входят в домен ru (см. листинг 16.4).Листинг 16.4. Директивы allow, deny
order deny, allow
deny from all
allow from ru
Следующий пример показывает, как разрешить доступ компьютерам только из вашей сети.
Листинг 16.5. Разрешение доступа подсети 192.168.1.0
order deny, allow
deny from all
allow from 192.168.1.
Кроме значений allow,deny
и deny,allow, директива order может содержать значение mutual-failure. В этом случае в доступе будет отказано всем компьютерам, которые явно не указаны в списке allow.Директиву require
можно использовать для защиты каталога паролем. После названия директивы должен следовать список элементов: имена пользователей, групп, которые заданы в директивах AuthUserFile и AuthGroupFile. Можно использовать параметр valid-user, который укажет серверу предоставить доступ любому пользователю, имя которого имеется в директиве AuthUserFile, если он введет правильный пароль. Пример использования приведен в листинге 16.6.Листинг 16.6. Использование директивы require
AuthUserFile /var/secure/.htpasswd
AuthName Security
AuthType Basic
order deny,allow
deny form all
allow from mydomain.ru
require valid-user
В листинге 16.6 для аутентификации используется файл паролей .htpasswd
mydomain.ru.Кроме параметра valid-user
допускается использование параметра users или groups. Данные параметры разрешают доступ только определенным пользователям или группам пользователей. Пример использования параметра users приведен в листинге 16.7.Листинг 16.7. Применения параметра users
AuthType Basic
AuthUserFile /var/users/.htpasswd
AuthName UsersDir
require users denis igor evg