如何判断reCAPTCHA是什么版本

captchaRun

516字约2分钟

2024-05-21

每个网站都不一样,captchaRun 为您整理以下几种判断方案:

注意

因为不同网站对验证码SDK的接入方式和使用方式的不同,下面的方案并不保证完全有效

重要

建议在V2识别失败时尝试使用V3识别

第一种:通过样式来判断版本

如果出现以下这种需要勾选的,可以判断为reCAPTCHA v2,但是需要进一步判断是普通版还是企业版。

v2

如果在右下角有一个小图标,鼠标移上去之后还会弹出以下图片,可以判断为reCAPTCHA v3

部分使用v3的网站可能会隐藏该图标

v3

v3不区分普通版和企业版,直接使用v3即可识别

第二种:通过浏览器控制台Network发送的请求进行判断

打开网页,按F12->Network

reCaptcha v2 普通版:请求链接不含render参数,或者render参数为explicit,例如:

https://www.google.com/recaptcha/api.js
https://www.google.com/recaptcha/api.js?onload=onloadcallback&render=explicit

reCaptcha v2 isInvisible版本:符合上述条件,并且anchor的url中有size=invisible参数,则可能为isvisible版本

重要

部分网站加载js的地址可能有所不同,例如为: recaptcha.net

reCaptcha v3:请求链接含有render参数,并且render参数不等于explicit,例如:

https://www.google.com/recaptcha/api.js?render=xxxxxxxxxxx

reCaptcha v2 企业版:请求链接不含render参数,或者render参数为explicit,例如:

https://recaptcha.net/recaptcha/enterprise.js?render=explicit&hl=zh-cn

第三种:通过对发起请求的位置进行断点调试来判断版本

重要

这种方式适合用于经过webpack打包的复杂单页应用,同时也能找到v3对应的action值

在Network面板找到感兴趣的请求,在发起程序内找到感兴趣的代码位置并断点调试,本方案没有快速判断方法。

通常来说该方案只在找不到action值但v2验证失败时使用。