一、国内服务商:大部分严格 IP 校验,IP 变化必重新验证
1. 阿里云验证码
V1.0
官方文档要求:
验证接口
AuthenticateSig的RemoteIp参数必须传递,且为必填参数阿里云文档明确说明:"客户端 IP。必填参数,后端填写。"阿里云
IP 变化处理:
当验证时的 IP 与生成 token 时记录的 IP 不一致,验证直接返回失败,必须重新验证阿里云
错误码 900 表示验证失败,要求重新获取 token 并验证阿里云
文档链接:
V2.0
官方文档要求:
IP 参数:不再是必须传递的参数,文档中未要求客户端传递 IP
IP 变化处理:
不要求必须重新验证,而是采用风险评估模式
文档链接:
https://help.aliyun.com/zh/captcha/captcha2-0/user-guide/server-access
2. 腾讯云验证码
官方文档要求:
验证码票据校验 API 中,
UserIp参数必须传递,且为必选参数腾讯云文档明确标注:"UserIp (必填):业务侧获取到的验证码使用者的外网 IP"
IP 变化处理:
当 IP 不一致时,验证失败,必须重新验证
风控规则中包含 "请求 IP 不在白名单中" 的错误码:
UnauthorizedOperation.RequestIpNotInWhitelist腾讯云,验证失败
文档链接:
3. 极验 (GeeTest) --宽松 IP 校验
官方文档要求:
IP 变化不会直接导致验证失败,也不需要重新验证
服务器仍会记录用户 IP (在返回结果的
user_ip字段中),但仅用于统计分析,不作为验证成功的必要条件 Tencent Cloud
文档链接:
4. 网易易盾 --宽松 IP 校验
官方文档要求:
IP 参数:不强制要求客户端传递 IP 参数
IP 变化处理:
验证通过后 IP 变化不会直接判定验证失效
不再要求必须重新验证,而是采用风险评估模式
文档链接:
5. 数美科技
官方文档要求:
验证接口中
ip参数必须传递,且为必传参数,文档明确标注:"必传参数:用户滑动验证码时的客户端公网 ipv4 地址"help.ishumei.com
IP 变化处理:
IP 不一致时,验证失败,必须重新验证
文档要求:"X-Real-IP:客户端真实 IP,避免使用中转服务器的 IP",强调 IP 真实性help.ishumei.com
文档链接:
6. 顶象技术
官方文档要求:
验证接口中
ip参数必须传递,用于 "token 产生的 ip 和业务请求 ip 一致性校验"
IP 变化处理:
IP 不一致时,返回错误码 1005,明确表示:"verifyToken 传入 ip 时,校验不通过,即 token 产生的 ip 和业务请求 ip 不一致"
文档说明:"必须重新验证,获取新的 token"
文档链接:
二、国际服务商:宽松 IP 校验,IP 变化不一定重新验证
1. Google reCAPTCHA
官方文档要求:
验证接口中
remoteip参数可选而非必须,文档明确标注:"optional: The IP address of the user who submitted the reCAPTCHA"
IP 变化处理:
IP 变化不会直接导致验证失败,而是影响验证分数
文档说明:"提供 IP 可提高验证准确性,但非必须",IP 不一致时降低验证分数,低于阈值 (如 < 0.5) 才要求重新验证
文档链接:
2. hCaptcha
官方文档要求:
验证接口中
remote_ip参数可选而非必须,文档明确标注:"remote_ip (str, optional):The remote IP address of the user who solved the captcha"
IP 变化处理:
IP 变化通常不影响验证结果,除非风险评分过低
文档建议:"为提高安全性建议提供 IP,但非必须",IP 不一致时不会直接失败,而是作为风险因素评估docs.hcaptcha.com
文档链接:
三、IP 变化处置策略官方文档依据对比
四、总结
国内服务商普遍对 IP 校验严格,官方文档明确要求 IP 必传且验证一致性,IP 变化必然导致验证失败并要求重新验证,这是防范自动化攻击的重要手段。
国际服务商对 IP 校验相对宽松,官方文档标注 IP 为可选参数,IP 变化通常不直接导致验证失败,而是作为风险评估因素,只有风险评分过低时才要求重新验证。