Mercurial > hg > nginx-site
diff 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 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/xml/cn/docs/http/ngx_http_referer_module.xml @@ -0,0 +1,141 @@ +<?xml version="1.0"?> + +<!-- + Copyright (C) Igor Sysoev + Copyright (C) Nginx, Inc. + --> + +<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> + +<module name="ngx_http_referer_module模块" + link="/cn/docs/http/ngx_http_referer_module.html" + lang="cn" + translator="nigelzeng" + rev="1"> + +<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.org/galleries/ + ~\.google\.; + +if ($invalid_referer) { + return 403; +} +</example> +</para> + +</section> + + +<section id="directives" name="指令"> + +<directive name="referer_hash_bucket_size"> +<syntax><value>size</value></syntax> +<default>64</default> +<context>server</context> +<context>location</context> +<appeared-in>1.0.5</appeared-in> + +<para> +设置用来存储有效referer的哈希表的表项长度。 +详细的情况参见<link doc="../hash.xml">哈希表设置</link>。 +</para> + +</directive> + + +<directive name="referer_hash_max_size"> +<syntax><value>size</value></syntax> +<default>2048</default> +<context>server</context> +<context>location</context> +<appeared-in>1.0.5</appeared-in> + +<para> +设置用来存储有效referer的哈希表最大<value>桶容量</value>。 +详细的情况参见<link doc="../hash.xml">哈希表设置</link>。 +</para> + +</directive> + + +<directive name="valid_referers"> +<syntax> + <literal>none</literal> | + <literal>blocked</literal> | + <literal>server_names</literal> | + <value>string</value> + ...</syntax> +<default/> +<context>server</context> +<context>location</context> + +<para> +<header>Referer</header>请求头为指定值时,内嵌变量<var>$invalid_referer</var>被设置为空字符串, +否则这个变量会被置成“<literal>1</literal>”。查找匹配时不区分大小写。 +</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> 请求头存在,但是它的值被防火墙或者代理服务器删除; +这些值都不以“<literal>http://</literal>” 或者 “<literal>https://</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>”符号。 +当nginx检查时,<header>Referer</header>请求头里的服务器端口将被忽略。 +</tag-desc> + +<tag-name>正则表达式</tag-name> +<tag-desc> +必须以“<literal>~</literal>”符号作为开头。 +需要注意的是表达式会从“<literal>http://</literal>”或者“<literal>https://</literal>”之后的文本开始匹配。 +</tag-desc> + +</list> +</para> + +<para> +实例: +<example> +valid_referers none blocked server_names + *.example.com example.* www.example.org/galleries/ + ~\.google\.; +</example> +</para> + +</directive> + +</section> + +</module>