Referer#
该模块用于阻止 设置有效引用来源哈希表的桶大小。设置哈希表的详细信息在单独的 文档 中提供。 设置有效引用来源哈希表的最大大小。设置哈希表的详细信息在单独的 文档 中提供。 指定将导致内置变量 $invalid_referer 被设置为空字符串的 参数可以如下: 请求头中缺少 请求头中存在 定义服务器名称和可选的 URI 前缀。服务器名称的开头或结尾可以有一个 "*"。在检查期间, 第一个符号应该是 "~"。需要注意的是,表达式将与 示例: 如果 Referer 头字段值无效的请求访问站点。需要注意的是,伪造一个带有适当 Referer 字段值的请求是相当容易的,因此该模块的预期目的不是彻底阻止此类请求,而是阻止由常规浏览器发送的大量请求流。还应考虑到,即使是有效请求,常规浏览器也可能不发送 Referer 字段。配置示例#
valid_referers none blocked server_names
*.example.com example.* www.example.org/galleries/
~\.google\.;
if ($invalid_referer) {
return 403;
}
指令#
referer_hash_bucket_size#
referer_hash_max_size#
valid_referers#
Referer 请求头字段值。否则,该变量将被设置为 "1"。匹配搜索不区分大小写。noneReferer 字段;blockedReferer 字段,但其值已被防火墙或代理服务器删除;此类值是不以 http:// 或 https:// 开头的字符串;server_namesReferer 请求头字段包含其中一个服务器名称;任意字符串Referer 字段中的服务器端口将被忽略;正则表达式http:// 或 https:// 之后开始的文本进行匹配。valid_referers none blocked server_names
*.example.com example.* www.example.org/galleries/
~\.google\.;
内置变量#
$invalid_referer#Referer 请求头字段值被认为是 有效的,则为空字符串,否则为 "1"。