comparison xml/ru/docs/http/ngx_http_referer_module.xml @ 356:ccb8e9a12e2f

Revision.
author Ruslan Ermilov <ru@nginx.com>
date Wed, 25 Jan 2012 13:57:12 +0000
parents b33d3f3cd8ca
children bb51d3e17dd0
comparison
equal deleted inserted replaced
355:5d731825a6c2 356:ccb8e9a12e2f
1 <?xml version="1.0"?> 1 <?xml version="1.0"?>
2 2
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> 3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4 4
5 <module name="Директивы модуля ngx_http_referer_module" 5 <module name="Модуль ngx_http_referer_module"
6 link="/ru/docs/http/ngx_http_referer_module.html" 6 link="/ru/docs/http/ngx_http_referer_module.html"
7 lang="ru"> 7 lang="ru">
8 8
9 <section id="summary"> 9 <section id="summary">
10 10
11 <para> 11 <para>
12 Модуль ngx_http_referer_module позволяет блокировать доступ 12 Модуль <literal>ngx_http_referer_module</literal> позволяет блокировать доступ
13 к сайту с неверными значениями строки "Referer" в заголовке запроса. 13 к сайту для запросов с неверными значениями поля <header>Referer</header> в
14 Следует иметь в виду, что подделать запрос с нужной строкой "Referer" 14 заголовке.
15 не составляет большого труда, поэтому цель использования данного модуля 15 Следует иметь в виду, что подделать запрос с нужным значением поля
16 заключается не в стопроцентном блокировании подобных запросов, 16 <header>Referer</header> не составляет большого труда, поэтому цель
17 а в блокировании массового потока запросов, сделанных обычными браузерами. 17 использования данного модуля заключается не в стопроцентном блокировании
18 Нужно также учитывать, что обычные браузеры могут не передавать строку 18 подобных запросов, а в блокировании массового потока запросов, сделанных
19 "Referer" даже для верных запросов. 19 обычными браузерами.
20 Нужно также учитывать, что обычные браузеры могут не передавать поле
21 <header>Referer</header> даже для верных запросов.
20 </para> 22 </para>
21 23
22 </section> 24 </section>
23 25
24 26
25 <section name="Пример конфигурации" id="example"> 27 <section id="example" name="Пример конфигурации">
26 28
27 <para> 29 <para>
28 <example> 30 <example>
29 valid_referers none blocked server_names 31 valid_referers none blocked server_names
30 *.example.com www.example.info/galleries/ 32 *.example.com example.* www.example.info/galleries/
31 ~\.google\. ; 33 ~\.google\.;
32 34
33 if ($invalid_referer) { 35 if ($invalid_referer) {
34 return 403; 36 return 403;
35 } 37 }
36 </example> 38 </example>
37 </para> 39 </para>
38 40
39 </section> 41 </section>
40 42
41 43
42 <section name="Директивы" id="directives"> 44 <section id="directives" name="Директивы">
43 45
44 <directive name="valid_referers"> 46 <directive name="valid_referers">
45 <syntax> 47 <syntax>
46 <literal>none</literal> | 48 <literal>none</literal> |
47 <literal>blocked</literal> | 49 <literal>blocked</literal> |
48 <literal>server_names</literal> | 50 <literal>server_names</literal> |
49 <value>строка</value> 51 <value>строка</value>
50 ...</syntax> 52 ...</syntax>
51 <default/> 53 <default/>
52 <context>server, location</context> 54 <context>server</context>
55 <context>location</context>
53 56
54 <para> 57 <para>
55 Директива задаёт значения строки "Referer" в заголовке запроса, при 58 Задаёт значения поля <header>Referer</header> заголовка запроса, при
56 которых встроенная переменная $invalid_referer будет иметь значение 0. 59 которых встроенная переменная <var>$invalid_referer</var> будет иметь
60 значение 0.
57 </para> 61 </para>
58 62
59 <para> 63 <para>
60 Параметры могут быть следующие: 64 Параметры могут быть следующие:
61 <list type="bullet"> 65 <list type="tag">
62 66
63 <listitem> 67 <tag-name><literal>none</literal></tag-name>
64 none — строка "Referer" в заголовке запроса отсутствует; 68 <tag-desc>
65 </listitem> 69 поле <header>Referer</header> в заголовке запроса отсутствует;
70 </tag-desc>
66 71
67 <listitem> 72 <tag-name><literal>blocked</literal></tag-name>
68 blocked — строка "Referer" в заголовке запроса присутствует, 73 <tag-desc>
69 но её значение удалено файрволлом или прокси-сервером; к таким строкам 74 поле <header>Referer</header> в заголовке запроса присутствует,
70 относятся строки, неначинающиеся на "http://"; 75 но его значение удалено межсетевым экраном (firewall) или прокси-сервером;
71 </listitem> 76 к таким значениям относятся строки, не начинающиеся на
77 “<literal>http://</literal>”;
78 </tag-desc>
72 79
73 <listitem> 80 <tag-name><literal>server_names</literal></tag-name>
74 server_names — в строке "Referer" в заголовке запроса указано одно 81 <tag-desc>
82 в поле <header>Referer</header> заголовка запроса указано одно
75 из имён сервера; 83 из имён сервера;
76 </listitem> 84 </tag-desc>
77 85
78 <listitem> 86 <tag-name>произвольная строка</tag-name>
79 произвольная строка — задаёт имя сервера и необязательное начало URI. 87 <tag-desc>
80 В начале или конце имени сервера может быть "*". 88 задаёт имя сервера и необязательное начало URI.
81 При проверке порт сервера в строке "Referer" игнорируется. 89 В начале или конце имени сервера может быть “<literal>*</literal>”.
82 </listitem> 90 При проверке порт сервера в поле <header>Referer</header> игнорируется;
91 </tag-desc>
83 92
84 <listitem> 93 <tag-name>регулярное выражение</tag-name>
85 регулярное выражение — в начале должен быть символ "~". 94 <tag-desc>
95 в начале должен быть символ “<literal>~</literal>”.
86 Необходимо учитывать, что на совпадение с выражением будет проверяться 96 Необходимо учитывать, что на совпадение с выражением будет проверяться
87 текст, начинающийся после "http://". 97 текст, начинающийся после “<literal>http://</literal>”.
88 </listitem> 98 </tag-desc>
89 99
90 </list> 100 </list>
91 </para> 101 </para>
92 102
93 <para> 103 <para>
94 Пример использования: 104 Пример:
95 <example> 105 <example>
96 valid_referers none blocked server_names 106 valid_referers none blocked server_names
97 *.example.com example.* www.example.info/galleries/ 107 *.example.com example.* www.example.info/galleries/
98 ~\.google\. ; 108 ~\.google\.;
99 </example> 109 </example>
100 </para> 110 </para>
101 111
102 </directive> 112 </directive>
103 113