首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ngx_http_referer_module

  • 示例配置
  • 指令
  • referer_hash_bucket_size
  • referer_hash_max_size
  • valid_referers
  • Embedded Variables

ngx_http_referer_module模块用于在“Referer”标题字段中阻止对具有无效值的请求访问站点。应该记住,制作具有适当“Referer”字段值的请求非常容易,因此本模块的预期目的不是彻底屏蔽这些请求,而是阻止常规浏览器发送的大量请求。还应该考虑到即使对于有效请求,常规浏览器也不能发送“Referer”字段。

示例配置

代码语言:javascript
复制
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_bucket_size 64;

语境:

服务器,位置

设置有效查阅者散列表的存储桶大小。设置散列表的细节在单独的文档中提供。

句法:

referer_hash_max_size大小;

默认:

referer_hash_max_size 2048;

语境:

服务器,位置

设置有效的引用器散列表的最大大小。 设置散列表的细节在单独的文档中提供。

句法:

valid_referers none | blocked | server_names | string ...;

默认:

语境:

服务器,位置

指定将导致嵌入$invalid_referer变量设置为空字符串的“Referer”请求标头字段值。否则,该变量将被设置为“ 1”。搜索匹配不区分大小写。

参数可以如下所示:

none请求头中缺少“Referer”字段; blocked“Referer”字段出现在请求头中,但其值已被防火墙或代理服务器删除; 这些值是不以“ http://”或“ https://” 开头的字符串; server_names“Referer”请求标题字段包含一个服务器名称; 任意字符串定义一个服务器名称和一个可选的URI前缀。服务器名称可以*在开头或结尾处具有“ ”。在检查期间,“Referer”字段中的服务器端口被忽略; 正则表达式的第一个符号应该是“ ~”。应该注意的是,表达式将与在“ http://”或“ https://” 之后开始的文本匹配。

例:

代码语言:javascript
复制
valid_referers none blocked server_names
               *.example.com example.* www.example.org/galleries/
               ~\.google\.;

嵌入式变量

$invalid_referer:如果“Referer”请求标头字段值被认为有效,则为空字符串,否则为“ 1”。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com