如何解决Google reCAPTCHA v3无法程序化添加大量自定义域名的问题
解决方案思路
- 多密钥分组管理
单组reCAPTCHA v3密钥对最多支持绑定50个域名,你当前只有80个自定义域名,仅需2组密钥对即可覆盖所有存量自定义域名,再加1组绑定你的根域名和所有子域名即可。服务端处理页面请求时,先识别当前访问域名的类型:如果是你的根域名/子域名,返回对应根域名组的站点密钥;如果是自定义域名,匹配它所属的密钥分组返回对应站点密钥即可。后续自定义域名数量增长时,每新增50个域名就加开一组密钥对,管理成本极低。 - 切换reCAPTCHA企业版
reCAPTCHA企业版没有单密钥对的域名绑定数量上限,同时支持通过API动态添加/删除绑定域名,完全适配你自定义域名动态新增的场景。如果你的站点请求量在企业版免费额度范围内,这个方案可以完全实现你要的Google侧完成域名校验的需求。 - 优化现有自实现域名校验逻辑
你当前的自实现校验方案本身安全性有足够保障,只需要做好两个细节就能达到和Google侧校验一致的安全效果:第一,域名校验完全依赖服务端获取的Host/Origin请求头,不要信任前端传递的任何域名参数;第二,匹配域名时用严格相等匹配,避免模糊匹配导致的绕过风险。你本身已经有全量合法域名数据库,这套逻辑的可靠性非常高。
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

