初学者从零开始学习使用谷歌验证码reCAPTCHA,国内如何使用?

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(秘钥):用于在后端进行验证。

记下这两个密钥,它们会在接下来的步骤中使用。

获取reCAPTCHA密钥并且记住

步骤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很简单,放入代码直接就出来效果了,效果图如下:

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

到此这篇关于初学者从零开始学习使用谷歌验证码reCAPTCHA,国内如何使用?的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/article/465.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • “初学者必看:如何从零开始学习人工智能?

    “初学者必看:如何从零开始学习人工智能?

    当我初次接触人工智能(AI)时,正值 AlphaGo 战胜围棋世界冠军李世石成为全球焦点,那一刻,人工智能这项技术首次闯入我的视线。我对此产生了浓厚兴趣,决心探究其背后的原理以及这些技术能为我们带来何种益处。于是我开始搜集资料,观看视频,深入了解相关知识。

    2024年01月24日
    浏览(31)
  • 7 个适合初学者的项目,可帮助您开始使用 ChatGPT

    7 个适合初学者的项目,可帮助您开始使用 ChatGPT

    推荐:使用 NSDT场景编辑器快速搭建3D应用场景 从自动化日常任务到预测复杂模式,人工智能正在重塑行业并重新定义可能性。 当我们站在这场人工智能革命中时, 我们必须了解它的潜力并将其整合到我们的日常工作流程中。 然而。。。我知道开始使用这些新技术可能会让

    2024年02月09日
    浏览(11)
  • JavaScript进阶之路(一)初学者的开始

    JavaScript进阶之路(一)初学者的开始

    一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般。学习资料:犀牛书。 如有误导,或者错误的地方,欢迎大神在评论区说明,指正。不接受无端的漫骂!!!! 面向对象:封装,继承,多态。 上面先不说,我们学习

    2024年02月06日
    浏览(5)
  • 天猫商城自动化python脚本(仅供初学者学习使用)

    天猫商城自动化python脚本(仅供初学者学习使用)

    作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。我的专栏文章知识点全面细致,逻辑清晰、结合实战,让你在学习路上事半

    2024年01月17日
    浏览(4)
  • 【深度学习】深度强化学习初学者指南

            GAN(Generative Adversarial Networks)是一种深度学习模型,它由两个神经网络组成:一个生成网络和一个判别网络。生成网络学习如何生成类似于给定数据集的新数据,而判别网络则学习如何区分生成网络生成的数据和原始数据。这两个网络相互竞争,使得生成器越来

    2024年02月13日
    浏览(30)
  • 初学者怎么学习c++(合集)

    初学者怎么学习c++(合集)

      学习c++方法1 找一本好的书本教材,辅助看教学视频。好的教材,可以让你更快更好的进入C/C++的世界。在校学生的话,你们的教材通常都是不错的。如果是自学,推荐使用谭浩强出的C/C++经典入门教材。看视频是学习比较直观的方式。建议先看课本,不懂的地方,更看视频

    2024年02月16日
    浏览(8)
  • 【深度学习】神经网络初学者指南

            这是一篇对神经网络的泛泛而谈的文章,我的意见是,先知道框架,而后知道每一个细节,这是学习人工智能的基本路线。本文就神经网络而言,谈到一些基础概念,适应于初学者建立概念。         神经网络是一组算法,以人脑为松散建模,旨在识别模式。

    2024年02月16日
    浏览(6)
  • 【学习资源】C#初学者学习资源推荐

    【学习资源】C#初学者学习资源推荐

    大家好,这是笔者自己自行整理的C#学习资源推荐,包含 网站、书籍和社区 ,方便自己学习的同时分享出来,希望可以帮到大家谢谢。 首先笔者最推荐的当然是我们微软 官方的学习文档 :官方C#文档, 众所周知官方的文档永远是最全面的,最权威的,更新最及时的。而其它

    2024年02月05日
    浏览(5)
  • 2023 年如何学习 SQL:初学者终极指南

    什么是 SQL,它的用途是什么? SQL 在 2023 年仍然适用吗? 你应该学习 SQL 吗? 学习 SQL 的不同方法 SQL 入门 SQL初学者可能害怕问的问题 学习 SQL 的先决条件是什么,我需要有任何编码经验吗? SQL 有哪些实际应用,哪些行业依赖于此技能? 学习SQL需要多长时间,我应该投入多

    2024年02月03日
    浏览(4)
  • 【深度学习】受限玻尔兹曼机 (RBM) 初学者指南

            受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)是一种基于能量模型的人工神经网络。它只有一个隐层,将输入层和隐层中的每个神经元互相连接,但不同层的神经元之间没有连接。RBM是一种无向的概率图模型,可以用于特征提取、数据降维、协同过滤等任务。它

    2024年02月13日
    浏览(6)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包