view xml/ru/docs/http/ngx_http_referer_module.xml @ 364:bb51d3e17dd0

Style fixed.
author Ruslan Ermilov <ru@nginx.com>
date Fri, 27 Jan 2012 10:39:12 +0000
parents ccb8e9a12e2f
children 9913f1d51c07
line wrap: on
line source

<?xml version="1.0"?>

<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">

<module name="Модуль ngx_http_referer_module"
        link="/ru/docs/http/ngx_http_referer_module.html"
        lang="ru">

<section id="summary">

<para>
Модуль <literal>ngx_http_referer_module</literal> позволяет блокировать доступ
к сайту для запросов с неверными значениями поля <header>Referer</header> в
заголовке.
Следует иметь в виду, что подделать запрос с нужным значением поля
<header>Referer</header> не составляет большого труда, поэтому цель
использования данного модуля заключается не в стопроцентном блокировании
подобных запросов, а в блокировании массового потока запросов, сделанных
обычными браузерами.
Нужно также учитывать, что обычные браузеры могут не передавать поле
<header>Referer</header> даже для верных запросов.
</para>

</section>


<section id="example" name="Пример конфигурации">

<para>
<example>
valid_referers none blocked server_names
               *.example.com example.* www.example.info/galleries/
               ~\.google\.;

if ($invalid_referer) {
    return 403;
}
</example>
</para>

</section>


<section id="directives" name="Директивы">

<directive name="valid_referers">
<syntax>
    <literal>none</literal> |
    <literal>blocked</literal> |
    <literal>server_names</literal> |
    <value>строка</value>
    ...</syntax>
<default/>
<context>server</context>
<context>location</context>

<para>
Задаёт значения поля <header>Referer</header> заголовка запроса, при
которых встроенная переменная <var>$invalid_referer</var> будет иметь
значение 0.
</para>

<para>
Параметры могут быть следующие:
<list type="tag">

<tag-name><literal>none</literal></tag-name>
<tag-desc>
поле <header>Referer</header> в заголовке запроса отсутствует;
</tag-desc>

<tag-name><literal>blocked</literal></tag-name>
<tag-desc>
поле <header>Referer</header> в заголовке запроса присутствует,
но его значение удалено межсетевым экраном (firewall) или прокси-сервером;
к таким значениям относятся строки, не начинающиеся на
“<literal>http://</literal>”;
</tag-desc>

<tag-name><literal>server_names</literal></tag-name>
<tag-desc>
в поле <header>Referer</header> заголовка запроса указано одно
из имён сервера;
</tag-desc>

<tag-name>произвольная строка</tag-name>
<tag-desc>
задаёт имя сервера и необязательное начало URI.
В начале или конце имени сервера может быть “<literal>*</literal>”.
При проверке порт сервера в поле <header>Referer</header> игнорируется;
</tag-desc>

<tag-name>регулярное выражение</tag-name>
<tag-desc>
в начале должен быть символ “<literal>~</literal>”.
Необходимо учитывать, что на совпадение с выражением будет проверяться
текст, начинающийся после “<literal>http://</literal>”.
</tag-desc>

</list>
</para>

<para>
Пример:
<example>
valid_referers none blocked server_names
               *.example.com example.* www.example.info/galleries/
               ~\.google\.;
</example>
</para>

</directive>

</section>

</module>