Skip to content
SOptim SOptim / Docs

自定義規則

雖然 Access Control 為您提供粗粒度屏蔽(國家/地區、IP),但自定義規則讓您表達精確的策略:"屏蔽來自 ASN 14061 的、user-agent 為空的訪客,他們在過去 60 秒內訪問 /cart 超過 10 次。"

規則的剖析

規則有四個部分:

  1. 名稱 — 供您自己參考
  2. 條件 — 一個或多個,使用 AND 組合
  3. 操作allowchallengeblock
  4. 優先級 — 數字越低勝出。默認 100。

規則在基於評分的管道 之前 進行評估。如果任何規則匹配,則採取其操作,我們跳過評分。

條件

字段 操作符 示例值
ip equals, in CIDR 203.0.113.0/24
country equals, in list RU, [CN,KP,IR]
asn equals, in list 14061, [16509,14618]
asn_org contains, regex DigitalOcean
user_agent contains, regex, empty ^curl/
header.<name> exists, equals, regex header.accept-language regex ^$
path equals, prefix, regex /cart, prefix /account
rate.requests gt within window > 10 within 60s
score gt, lt > 50

正則表達式用 ^$ 錨定。使用 regex101.com 進行測試。

示例

屏蔽結賬鄰近路徑上的所有空 user-agent:

字段 Op
user_agent empty
path prefix /checkout

操作:block。優先級:50

質詢任何從已知數據中心 ASN 快速訪問 /cart 的人:

字段 Op
asn in list [16509, 14618, 14061, 8075]
path prefix /cart
rate.requests gt within 5 within 30s

操作:challenge。優先級:30

即使您的監控服務看起來可疑也允許它:

字段 Op
header.x-monitor-key equals <您的共享密鑰>

操作:allow。優先級:1

限制

套餐 每店規則 速率窗口存儲
Scale 25 條規則 60s 滑動窗口
Max 100 條規則 5min 滑動窗口

Free/Grow 沒有自定義規則。

測試規則

將規則保存為操作 monitor(無強制執行,僅記錄匹配)24 小時。檢查 訪客分析 — 按 reason = rule:<您的規則名稱> 過濾。如果匹配看起來正確,將操作切換到 blockchallenge

可用於

Scale ($49/月) 和 Max ($99/月)。

Last updated: 2026-05-19
Send feedback