annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
222
bfe3eff81d04 Removed redundant encoding specification.
Ruslan Ermilov <ru@nginx.com>
parents: 110
diff changeset
1 <?xml version="1.0"?>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
5 <module name="Модуль ngx_http_referer_module"
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6 link="/ru/docs/http/ngx_http_referer_module.html"
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 lang="ru">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
110
40eec261c2a6 Added proper support for anonymous sections, notably for the summary.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
9 <section id="summary">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11 <para>
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
12 Модуль <literal>ngx_http_referer_module</literal> позволяет блокировать доступ
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
13 к сайту для запросов с неверными значениями поля <header>Referer</header> в
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
14 заголовке.
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
15 Следует иметь в виду, что подделать запрос с нужным значением поля
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
16 <header>Referer</header> не составляет большого труда, поэтому цель
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
17 использования данного модуля заключается не в стопроцентном блокировании
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
18 подобных запросов, а в блокировании массового потока запросов, сделанных
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
19 обычными браузерами.
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
20 Нужно также учитывать, что обычные браузеры могут не передавать поле
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
21 <header>Referer</header> даже для верных запросов.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
27 <section id="example" name="Пример конфигурации">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30 <example>
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
31 valid_referers none blocked server_names
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
32 *.example.com example.* www.example.info/galleries/
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
33 ~\.google\.;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
35 if ($invalid_referer) {
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
36 return 403;
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
37 }
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
44 <section id="directives" name="Директивы">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 <directive name="valid_referers">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
47 <syntax>
364
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 356
diff changeset
48 <literal>none</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 356
diff changeset
49 <literal>blocked</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 356
diff changeset
50 <literal>server_names</literal> |
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 356
diff changeset
51 <value>строка</value>
bb51d3e17dd0 Style fixed.
Ruslan Ermilov <ru@nginx.com>
parents: 356
diff changeset
52 ...</syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 76
diff changeset
53 <default/>
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
54 <context>server</context>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
55 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 <para>
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
58 Задаёт значения поля <header>Referer</header> заголовка запроса, при
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
59 которых встроенная переменная <var>$invalid_referer</var> будет иметь
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
60 значение 0.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
62
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
64 Параметры могут быть следующие:
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
65 <list type="tag">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
66
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
67 <tag-name><literal>none</literal></tag-name>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
68 <tag-desc>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
69 поле <header>Referer</header> в заголовке запроса отсутствует;
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
70 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
71
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
72 <tag-name><literal>blocked</literal></tag-name>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
73 <tag-desc>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
74 поле <header>Referer</header> в заголовке запроса присутствует,
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
75 но его значение удалено межсетевым экраном (firewall) или прокси-сервером;
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
76 к таким значениям относятся строки, не начинающиеся на
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
77 “<literal>http://</literal>”;
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
78 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
79
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
80 <tag-name><literal>server_names</literal></tag-name>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
81 <tag-desc>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
82 в поле <header>Referer</header> заголовка запроса указано одно
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
83 из имён сервера;
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
84 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
85
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
86 <tag-name>произвольная строка</tag-name>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
87 <tag-desc>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
88 задаёт имя сервера и необязательное начало URI.
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
89 В начале или конце имени сервера может быть “<literal>*</literal>”.
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
90 При проверке порт сервера в поле <header>Referer</header> игнорируется;
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
91 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
92
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
93 <tag-name>регулярное выражение</tag-name>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
94 <tag-desc>
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
95 в начале должен быть символ “<literal>~</literal>”.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
96 Необходимо учитывать, что на совпадение с выражением будет проверяться
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
97 текст, начинающийся после “<literal>http://</literal>”.
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
98 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
99
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
100 </list>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
101 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
102
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
103 <para>
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
104 Пример:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
105 <example>
356
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
106 valid_referers none blocked server_names
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
107 *.example.com example.* www.example.info/galleries/
ccb8e9a12e2f Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 288
diff changeset
108 ~\.google\.;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
109 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
110 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
111
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
112 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
113
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
114 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
115
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
116 </module>