comparison xml/cn/docs/http/ngx_http_referer_module.xml @ 792:ceb8a4e374b7

Updated the Chinese documentation.
author Ruslan Ermilov <ru@nginx.com>
date Tue, 25 Dec 2012 06:34:37 +0000
parents
children
comparison
equal deleted inserted replaced
791:15f2bab0740d 792:ceb8a4e374b7
1 <?xml version="1.0"?>
2
3 <!--
4 Copyright (C) Igor Sysoev
5 Copyright (C) Nginx, Inc.
6 -->
7
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
9
10 <module name="ngx_http_referer_module模块"
11 link="/cn/docs/http/ngx_http_referer_module.html"
12 lang="cn"
13 translator="nigelzeng"
14 rev="1">
15
16 <section id="summary">
17
18 <para>
19 <literal>ngx_http_referer_module</literal>模块允许拦截<header>Referer</header>请求头中含有非法值的请求,阻止它们访问站点。
20 需要注意的是伪造一个有效的<header>Referer</header>请求头是相当容易的,
21 因此这个模块的预期目的不在于彻底地阻止这些非法请求,而是为了阻止由正常浏览器发出的大规模此类请求。
22 还有一点需要注意,即使正常浏览器发送的合法请求,也可能没有<header>Referer</header>请求头。
23 </para>
24
25 </section>
26
27
28 <section id="example" name="配置实例">
29
30 <para>
31 <example>
32 valid_referers none blocked server_names
33 *.example.com example.* www.example.org/galleries/
34 ~\.google\.;
35
36 if ($invalid_referer) {
37 return 403;
38 }
39 </example>
40 </para>
41
42 </section>
43
44
45 <section id="directives" name="指令">
46
47 <directive name="referer_hash_bucket_size">
48 <syntax><value>size</value></syntax>
49 <default>64</default>
50 <context>server</context>
51 <context>location</context>
52 <appeared-in>1.0.5</appeared-in>
53
54 <para>
55 设置用来存储有效referer的哈希表的表项长度。
56 详细的情况参见<link doc="../hash.xml">哈希表设置</link>。
57 </para>
58
59 </directive>
60
61
62 <directive name="referer_hash_max_size">
63 <syntax><value>size</value></syntax>
64 <default>2048</default>
65 <context>server</context>
66 <context>location</context>
67 <appeared-in>1.0.5</appeared-in>
68
69 <para>
70 设置用来存储有效referer的哈希表最大<value>桶容量</value>。
71 详细的情况参见<link doc="../hash.xml">哈希表设置</link>。
72 </para>
73
74 </directive>
75
76
77 <directive name="valid_referers">
78 <syntax>
79 <literal>none</literal> |
80 <literal>blocked</literal> |
81 <literal>server_names</literal> |
82 <value>string</value>
83 ...</syntax>
84 <default/>
85 <context>server</context>
86 <context>location</context>
87
88 <para>
89 <header>Referer</header>请求头为指定值时,内嵌变量<var>$invalid_referer</var>被设置为空字符串,
90 否则这个变量会被置成“<literal>1</literal>”。查找匹配时不区分大小写。
91 </para>
92
93 <para>
94 该指令的参数可以为下面的内容:
95 <list type="tag">
96
97 <tag-name><literal>none</literal></tag-name>
98 <tag-desc>
99 缺少<header>Referer</header>请求头;
100 </tag-desc>
101
102 <tag-name><literal>blocked</literal></tag-name>
103 <tag-desc>
104 <header>Referer</header> 请求头存在,但是它的值被防火墙或者代理服务器删除;
105 这些值都不以“<literal>http://</literal>” 或者 “<literal>https://</literal>”字符串作为开头;
106 </tag-desc>
107
108 <tag-name><literal>server_names</literal></tag-name>
109 <tag-desc>
110 <header>Referer</header> 请求头包含某个虚拟主机名;
111 </tag-desc>
112
113 <tag-name>任意字符串</tag-name>
114 <tag-desc>
115 定义一个服务器名和可选的URI前缀。服务器名允许在开头或结尾使用“<literal>*</literal>”符号。
116 当nginx检查时,<header>Referer</header>请求头里的服务器端口将被忽略。
117 </tag-desc>
118
119 <tag-name>正则表达式</tag-name>
120 <tag-desc>
121 必须以“<literal>~</literal>”符号作为开头。
122 需要注意的是表达式会从“<literal>http://</literal>”或者“<literal>https://</literal>”之后的文本开始匹配。
123 </tag-desc>
124
125 </list>
126 </para>
127
128 <para>
129 实例:
130 <example>
131 valid_referers none blocked server_names
132 *.example.com example.* www.example.org/galleries/
133 ~\.google\.;
134 </example>
135 </para>
136
137 </directive>
138
139 </section>
140
141 </module>