bot-detect外掛程式可以用於識別並阻止互連網爬蟲對網站資源的爬取。本文介紹如何配置bot-detect外掛程式。
外掛程式類型
安全防護。
配置欄位
名稱 | 資料類型 | 填寫要求 | 預設值 | 描述 |
allow | array of string | 選填。 | - | 配置匹配User-Agent要求標頭的Regex,匹配命中時將允許其訪問。 |
deny | array of string | 選填。 | - | 配置匹配User-Agent要求標頭的Regex,匹配命中時將屏蔽請求。 |
blocked_code | number | 選填。 | 403 | 配置請求被屏蔽時返回的HTTP狀態代碼。 |
blocked_message | string | 選填。 | - | 配置請求被屏蔽時返回的HTTP應答Body。 |
說明
allow和deny欄位可以均不配置,則執行預設的爬蟲判斷邏輯,通過配置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'對特定路由或網域名稱開啟
在route-a和route-b兩個路由做空配置儲存。
在*.example.com和test.com兩個網域名稱做如下外掛程式配置:
allow:
- ".*Go-http-client.*"說明
route-a和route-b即在建立網關路由時填寫的路由名稱,因為沒有做額外配置,當匹配到這兩個路由時,將使用內建的預設規則來識別爬蟲。*.example.com和test.com用於匹配請求的網域名稱,當發現網域名稱匹配時,將使用此段配置。配置的匹配生效順序,將按照規則的排列順序,匹配第一個規則後生效對應配置,後續規則將被忽略。