对于国内网站来说借助 DNS 的多线路解析可以很好的拦截境外恶意请求,那么对于境外站点呢?当然也是有办法的,CloudFlare 的规则里可以非常灵活的来解决,就想上面这个规则就仅允许中国、香港、台湾、澳门的 IP 请求,其他地区的一律需要“托管质询”(可以理解为国内 CDN 的验证)。
当然下面还有几个条件,统一解释下来的意思就是请求来源 IP 不是中国、香港、台湾、澳门范围内的 IP 且不是合法爬虫或者IP 威胁分数(CloudFlare 的大数据表现之一)大于等于 30 分又或者用户代理包含了"Mozilla/"以及HTTP 版本不包含 HTTP/2、HTTP/3、SPDY/3.1 的一律要“托管质询”,详细表达式如下:
(not ip.geoip.country in {"CN" "HK" "MO" "TW"} and not cf.client.bot) or (cf.threat_score ge 30) or (not http.user_agent contains "Mozilla/") or (not http.request.version in {"HTTP/2" "HTTP/3" "SPDY/3.1"})
(not ip.geoip.country in {"CN" "HK" "TW" "MO"} and not cf.client.bot) or (cf.threat_score ge 5) or (not http.user_agent contains "Mozilla/") or (not http.request.version in {"HTTP/2" "HTTP/3" "SPDY/3.1"})