原文链接:https://wuweijun.cn/2019/12/%E8%B0%B7%E6%AD%8CreCapture%E7%9A%84%E4%BD%BF%E7%94%A8/ 需要注册一个谷歌账户,然后申请一对公钥密钥,公钥用于前端请求谷歌,密钥用于后台验证。 https://www.google.com/recaptcha/admin https://developers.google.cn/recaptcha/docs/versions?hl=zh-cn v3 版本是会返回一个评分,0到1之间,允许你在没有任何用户交互的情况下验证交互是否合法,让你根据分数自己进行提示验证限制爬虫等。 v2
版本则是提供几种可能,一种是点击按钮,一种则是自动提交,可以是原站点的某个按钮,或者直接用JS直接调用,需要在验证reCaptcha完成后执行回调,网站底部可以隐藏谷歌reCaptcha的徽章,你也可以隐藏。 重点:class="g-recaptcha" data-sitekey="your_site_key" 注意: 国内需要用**https://recaptcha.net **代替原谷歌地址 https://www.recaptcha.net/recaptcha/api.js 通过指定onload回调函数并向JavaScript资源添加参数,可以延迟渲染。 在加载reCaptcha js之间需要先定义好回调函数,使用async defer 加载脚本 可以配置语言,主题(dark light),大小 以及各种回调等。 https://developers.google.cn/recaptcha/docs/display?hl=zh-cn#configuration 接口名称则代表了他们的意思,渲染 重置 获取 服务端验证注意: 国内需要用**https://recaptcha.net **代替原谷歌地址
API 响应: success 为true则验证通过
####### 5. 例子
流程大概是前端加载谷歌验证码的js,发送一个包含公钥的请求得到谷歌响应后,把响应信息按要求发送给后台,后台带着密钥和客户端获取的响应信息请求谷歌的验证API,得到响应。 注意: 国内需要用**https://recaptcha.net **代替原谷歌地址
设置
安全性依赖谷歌强大的机器学习算法,以及谷歌研发的维护,reCaptcha一定程度上还是可以的。目前也有开源破解方案参考,但是随着谷歌的更新其作用肯定是会失效,所以感兴趣的参考就行:
风险由于使用的谷歌服务 有不可访问的风险,可以通过代理规避。 参考
推荐阅读更多精彩内容
|