reCAPTCHA简介
老规矩,先介绍一下什么是 reCAPTCHA
reCAPTCHA是由Google开发的一项反机器人(CAPTCHA)技术。它旨在帮助网站和应用程序识别真实用户并抵御恶意活动,如垃圾邮件、爬虫、自动注册等。reCAPTCHA结合了人类直觉和计算机视觉的力量,通过识别用户是否为真实人类来进行验证。
reCAPTCHA通过向用户展示一个包含文本、图像或声音的小测试来验证其人类身份。这个测试要求用户执行一些简单的任务,例如选择相关图片、解读模糊文字或听取语音提示,并在相应的文本框中输入答案。这种方式可以有效区分人类用户和自动化机器人。
reCAPTCHA的一个重要特点是它能够自适应地提供不同难度级别的验证,根据用户的交互行为和风险评估来调整难度。对于可信度较高的用户,可能只需要点击复选框即可完成验证;而对于可疑的用户,则可能需要执行更复杂的任务。
使用reCAPTCHA可以帮助网站和应用程序保护用户隐私,防止恶意活动,并提高用户体验。
【总结就是一句话:图片验证码不行,很容易识别,使用reCAPTCHA就是让别人去破解谷歌的验证码嘛】多的不说,直接上真机实验。主要基于 reCAPTCHA v2
完整实现步骤
步骤1、申请密钥
首先,你需要前往 reCAPTCHA 网站 注册一个账户并创建一个新的网站。
网址:(www.google.com/recaptcha)(www.google.com/recaptcha/admin/create)
在创建网站时,你将获得两个关键信息:
Site key(网站密钥):用于在前端显示reCAPTCHA小部件。
Secret key(秘钥):用于在后端进行验证。
记下这两个密钥,它们会在接下来的步骤中使用。
步骤2、在HTML页面加载reCAPTCHA 脚本
加载reCAPTCHA 脚本,非常简单,只需要加入js和HTML代码即可。请查看以下代码
<!--这是我的提交表单--> <form name="" method="post" action=""> <div id="html_element"></div><!--这是输出验证码的地方,直接放入就可以,很简单--> </form> <script async src="https://www.google.com/recaptcha/api.js"> <!--js代码--> <script type="text/javascript"> grecaptcha.render('html_element', { 'sitekey' : '放我们申请的 html key', 'callback' : function(token){ } }); </script>
就像上面的一样。html加载reCAPTCHA很简单,放入代码直接就出来效果了,效果图如下:
步骤3、服务端的验证
这里用放的php示例,验证端不多说,直接上代码。
<?php // 获取reCAPTCHA响应 $recaptcha_response = $_POST['g-recaptcha-response']; // 通过Google reCAPTCHA API验证响应 $secret_key = 'YOUR_SECRET_KEY'; // 将 YOUR_SECRET_KEY 替换为你在步骤1中获得的秘钥 $verify_url = 'https://www.google.com/recaptcha/api/siteverify'; $data = array( 'secret' => $secret_key, 'response' => $recaptcha_response ); $ch = curl_init($verify_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); $response = curl_exec($ch); curl_close($ch); $response_data = json_decode($response); // 验证reCAPTCHA响应结果 if ($response_data->success) { // reCAPTCHA验证成功,执行你想要的操作 echo "reCAPTCHA验证成功!"; } else { // reCAPTCHA验证失败,采取相应措施 echo "reCAPTCHA验证失败!"; } ?>
注意事项,相关问题解决方案
版本分两个
reCAPTCHA v3 和 reCAPTCHA v2,基本上没有什么差别.
reCAPTCHA v3和reCAPTCHA v2是Google提供的两个版本的反机器人验证系统,它们在设计和使用上有一些区别。
1. 用户交互方式:
reCAPTCHA v3:reCAPTCHA v3采用了无感知验证的方式,它通过分析用户在网站上的行为来评估其是否为机器人。这意味着用户不需要进行任何人工操作或解决谜题,验证过程是完全隐式的。
reCAPTCHA v2:reCAPTCHA v2则要求用户完成识别图片、文字或声音的任务,以证明他们是真实的人类用户。这需要用户与reCAPTCHA小部件进行交互,并手动解决相应的验证问题。
2. 验证级别:
reCAPTCHA v3:reCAPTCHA v3不再基于传统的“人类/机器人”二分法,而是引入了一个连续性的积分系统。它根据用户的行为和其他信号来计算用户的风险分数。你可以根据这个分数自定义阈值,以确定哪些用户被认为是机器人。reCAPTCHA v3提供了更灵活的验证级别和更精细的控制。
reCAPTCHA v2:reCAPTCHA v2是基于传统的二进制验证模型的,即将用户划分为“人类”或“机器人”。用户必须成功解决相应的验证问题,以通过验证。
3. 集成难度:
reCAPTCHA v3:reCAPTCHA v3的集成较为简单,只需在网站中插入一个标签,并通过后端进行验证。验证结果可以通过API获取,并根据需要进行处理。
reCAPTCHA v2:reCAPTCHA v2的集成需要在前端添加JavaScript代码来显示和处理reCAPTCHA小部件,并在后端进行验证。这种交互式的验证方式可能需要更多的开发工作和前端调整。
综上所述,reCAPTCHA v3提供了一种无感知验证方式,可以根据用户行为进行智能评估,而reCAPTCHA v2则要求用户进行手动交互以证明其为真实用户。选择哪个版本取决于你的具体需求和用户体验的考虑。
如何在国内使用reCAPTCHA
将 www.google.com/recaptcha/ 替换为 recaptcha.net/recaptcha/ 即可, recaptcha.net 在国内暂时没有被屏蔽,目前还可以正常使用。文章来源:https://www.toymoban.com/article/465.html
文章来源地址https://www.toymoban.com/article/465.html
到此这篇关于初学者从零开始学习使用谷歌验证码reCAPTCHA,国内如何使用?的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!