HTTP HTTPUSERAGENT HTTPREFERER HTTPCOOKIE HTTPFORWARDED HTTPHOST HTTPPROXYCONNECTION HTTPACCEPT

  • Slides: 49
Download presentation

Список переменных шаблона HTTP-заголовки: HTTP_USER_AGENT HTTP_REFERER HTTP_COOKIE HTTP_FORWARDED HTTP_HOST HTTP_PROXY_CONNECTION HTTP_ACCEPT Соединение и запросы:

Список переменных шаблона HTTP-заголовки: HTTP_USER_AGENT HTTP_REFERER HTTP_COOKIE HTTP_FORWARDED HTTP_HOST HTTP_PROXY_CONNECTION HTTP_ACCEPT Соединение и запросы: REMOTE_ADDR REMOTE_HOST REMOTE_PORT REMOTE_USER REMOTE_IDENT REQUEST_METHOD SCRIPT_FILENAME PATH_INFO QUERY_STRING AUTH_TYPE

Список переменных шаблона Внутренние серверные: DOCUMENT_ROOT SERVER_ADMIN SERVER_NAME SERVER_ADDR SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE Дата и

Список переменных шаблона Внутренние серверные: DOCUMENT_ROOT SERVER_ADMIN SERVER_NAME SERVER_ADDR SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE Дата и время TIME_YEAR TIME_MON TIME_DAY TIME_HOUR TIME_MIN TIME_SEC TIME_WDAY TIME Особое API_VERSION THE_REQUEST_URI REQUEST_FILENAME IS_SUBREQ HTTPS

Комбинирование условий в правилах Rewrite. Engine on Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 1. * [OR]

Комбинирование условий в правилах Rewrite. Engine on Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 1. * [OR] Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 2. * [OR] Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 3. * Rewrite. Rule ^(. *)$ ^mysubdomain_public_html/ Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 4. * Rewrite. Rule ^(. *)$ ^mysubdomain 4_public_html/ Для комбинирования условий могут быть использованы операторы AND и OR.

Правило для главной страницы под специфику браузера Rewrite. Engine on Rewrite. Cond %{HTTP_USER_AGENT} ^Mozilla.

Правило для главной страницы под специфику браузера Rewrite. Engine on Rewrite. Cond %{HTTP_USER_AGENT} ^Mozilla. * Rewrite. Rule ^/$ /homepage. max. html [L] Rewrite. Cond %{HTTP_USER_AGENT} ^Lynx. * Rewrite. Rule ^/$ /homepage. min. html [L] Rewrite. Rule ^/$ /homepage. std. html [L]

Разные сайты в зависимости от браузера Rewrite. Engine on Rewrite. Cond %{HTTP_USER_AGENT} ^Mozilla. *

Разные сайты в зависимости от браузера Rewrite. Engine on Rewrite. Cond %{HTTP_USER_AGENT} ^Mozilla. * Rewrite. Rule ^(. *)$ /mozilla/ [L] Rewrite. Cond %{HTTP_USER_AGENT} ^Lynx. * Rewrite. Rule ^(. *)$ /lynx/ [L] Rewrite. Rule ^(. *)$ /default/ [L]

Пример 1 • Запрет посещений сайта поисковым роботом Google: Rewrite. Engine on Rewrite. Cond

Пример 1 • Запрет посещений сайта поисковым роботом Google: Rewrite. Engine on Rewrite. Cond %{USER_AGENT} Googlebot Rewrite. Rule. * - [F] # Другой вариант возвращает вместо ошибки 403 (FORBIDDEN) ошибку 404 (NOT_FOUND) Rewrite. Cond %{USER_AGENT} Googlebot Rewrite. Rule. * - [R=404]

Пример 2 Запрет на посещение сайта в рабочее время: Rewrite. Engine on Rewrite. Cond

Пример 2 Запрет на посещение сайта в рабочее время: Rewrite. Engine on Rewrite. Cond %{TIME_HOUR}%{TIME_MIN} > 900 Rewrite. Cond %{TIME_HOUR}%{TIME_MIN} < 1800 Rewrite. Rule. * - [F]

Пример 3 • Запрет на встраивание картинок из внешних страниц: Rewrite. Engine on Rewrite.

Пример 3 • Запрет на встраивание картинок из внешних страниц: Rewrite. Engine on Rewrite. Base /img/ Rewrite. Cond %{HTTP_REFERER} !^$ Rewrite. Rule . (jpe? g|gif|png)$ - [F]

Обработка ошибок # содержание файла. htaccess: Error. Document 404 error/404. htm Error. Document 403

Обработка ошибок # содержание файла. htaccess: Error. Document 404 error/404. htm Error. Document 403 error/403. htm Error. Document 400 error/400. htm Error. Document 500 error/500. htm # в случае ошибки "Forbidden" показывается текстовое # сообщение, которое обязательно должно начинаться с # кавычки, кавычка в сообщении не выводится: Error. Document 403 "Sorry can't allow you access today, 403 Status Codes Apache"

Кодировка • В HTML: <meta http-equiv="content-type" content="text/html; charset=Windows-1251"> • Через. htaccess: Add. Default. Charset

Кодировка • В HTML: <meta http-equiv="content-type" content="text/html; charset=Windows-1251"> • Через. htaccess: Add. Default. Charset UTF-8

Запрет на доступ к отдельным файлам <Files "passwd. html"> Order Deny, Allow Deny from

Запрет на доступ к отдельным файлам <Files "passwd. html"> Order Deny, Allow Deny from all Allow from 81. 222. 144. 12 </Files>

Паролирование директорий Auth. Name "Achtung! Uwaga! Attention! Protected area!" Auth. Type Basic Auth. User.

Паролирование директорий Auth. Name "Achtung! Uwaga! Attention! Protected area!" Auth. Type Basic Auth. User. File /home/pavel/. authfile require valid-user

Генерирование файла с паролями [pavel@mati. su]~# htpasswd Usage: htpasswd [-cmdps] passwordfile username htpasswd -b[cmdps]

Генерирование файла с паролями [pavel@mati. su]~# htpasswd Usage: htpasswd [-cmdps] passwordfile username htpasswd -b[cmdps] passwordfile username password -c Create a new file.

Генерирование файла с паролями [pavel@mati. su]~ # htpasswd -c authfile test 1 New password:

Генерирование файла с паролями [pavel@mati. su]~ # htpasswd -c authfile test 1 New password: Re-type new password Adding password for user test 1 Генерирование пароля для пользователя test 1 в файл “authfile”.

Полезные ссылки • http: //httpd. apache. org/docs/2. 2/mod_ rewrite. html • http: //httpd. apache.

Полезные ссылки • http: //httpd. apache. org/docs/2. 2/mod_ rewrite. html • http: //httpd. apache. org/docs/2. 0/mod/core. h tml#filesmatch • http: //httpd. apache. org/docs/2. 2/mod_ authz_host. html#allow • http: //beget. ru/art_htaccess • http: //beget. ru/art 10