文档

bot-detect插件

更新时间:

bot-detect插件可以用于识别并阻止互联网爬虫对站点资源的爬取。本文介绍如何配置bot-detect插件。

插件类型

安全防护。

配置字段

名称

数据类型

填写要求

默认值

描述

allow

array of string

选填。

-

配置匹配User-Agent请求头的正则表达式,匹配命中时将允许其访问。

deny

array of string

选填。

-

配置匹配User-Agent请求头的正则表达式,匹配命中时将屏蔽请求。

blocked_code

number

选填。

403

配置请求被屏蔽时返回的HTTP状态码。

blocked_message

string

选填。

-

配置请求被屏蔽时返回的HTTP应答Body。

说明

allowdeny字段可以均不配置,则执行默认的爬虫判断逻辑,通过配置allow字段可以将原本命中默认爬虫判断逻辑的请求放行,通过配置deny字段可以增加额外的爬虫判断逻辑。

配置示例

放行原本命中爬虫规则的请求

allow:
- ".*Go-http-client.*"

若不做该配置,默认的Golang网络库请求会被视作爬虫,被禁止访问。

增加爬虫判断

deny:
- "spd-tools.*"

根据该配置,下列请求将被禁止访问。

curl http://example.com -H 'User-Agent: spd-tools/1.1'
curl http://exmaple.com -H 'User-Agent: spd-tools'

对特定路由或域名开启

# 使用 _rules_ 字段进行细粒度规则配置
_rules_:
# 规则一:按路由名称匹配生效
- _match_route_:
  - route-a
  - route-b
# 规则二:按域名匹配生效
- _match_domain_:
  - "*.example.com"
  - test.com
  allow:
  - ".*Go-http-client.*"
说明
  • _match_route_中指定的route-aroute-b即在创建网关路由时填写的路由名称,当匹配到这两个路由时,将使用此段配置。

  • _match_domain_中指定的*.example.comtest.com用于匹配请求的域名,当发现域名匹配时,将使用此段配置。

  • 配置的匹配生效顺序,将按照_rules_下规则的排列顺序,匹配第一个规则后生效对应配置,后续规则将被忽略。

  • 本页导读 (1)
文档反馈