当前位置: 首页 > news >正文

谷歌人机验证Google reCAPTCHA

reCAPTCHA是Google公司推出的一项验证服务,使用十分方便快捷,在国外许多网站上均有使用。它与许多其他的人机验证方式不同,它极少需要用户进行各种识图验证。

它的使用方式如下如所示,只需勾选复选框即可通过人机验证。

虽然简单但效果很好,因为Google会收集一些浏览器信息,网络信息,鼠标轨迹等信息,最后通过神经网络判断是否为机器人。而且reCAPTCHA还可以记录并分析使用该人机验证的请求次数,并对可以的请求进行统计和监管。

一些准备工作:
需要一个谷歌账号没有的先去注册一个

reCAPTCHA官网:https://developers.google.com/recaptcha/ (需要科学上网)

使用reCAPTCHA需要创建密匙对,创建密匙:https://www.google.com/recaptcha/admin

首先先创建密匙
进入 https://www.google.com/recaptcha/admin

 

创建成功后会产生一对密匙

前端部署
在你需要添加reCAPTCHA的界面添加script标签

<script src="https://www.recaptcha.net/recaptcha/api.js"></script>


然后再你需要显示reCAPTCHA验证框的地方添加

<div class="g-recaptcha" data-sitekey="你的网站密匙"></div>


可以设置验证框的主题默认主题为light,可以添加属性:data-theme="dark" 变为暗色主题

 生成token代码

token = grecaptcha.getResponse();

后端部署
在每次验证完成后会生成一个g-recaptcha-response验证码,需要将这个验证码和你的密匙一起发送至:https://www.recaptcha.net/recaptcha/api/siteverify (使用GET方式传参)

传参的格式:secret=xxxxxx&response=xxxxxxx

PHP示例代码:

$data['secret'] = '你的密钥';
$data['response'] = $request['token'];    //前台生成的token
$googleVerify = RequestHttpUtility::postUrl('https://www.google.com/recaptcha/api/siteverify',$data,["Content-type:application/x-www-form-urlencoded"]);
// V3返回的成功结果集
// array:5 [
//   "success" => true
//   "challenge_ts" => "2023-04-12T09:18:22Z"
//   "hostname" => "face-mall.com"
//   "score" => 0.9
//   "action" => "submit"
// ]

下图为需要传递的参数及其含义

secret (必须)    你的secret密匙(第二个密匙)
response (必须)    客户端获取到的 g-recaptcha-response验证码
remoteip (可选)    客户端的ip
接口返回的数据是json格式

{
  "success": true|false,
  "challenge_ts": timestamp,  // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
  "hostname": string,         // the hostname of the site where the reCAPTCHA was solved
  "error-codes": [...]        // optional
}

 验证通过后success返回的值为“true”,如果验证失败则会返回error-code,下面为error-code及其对应原因

Error code    Description
missing-input-secret    The secret parameter is missing.
invalid-input-secret    The secret parameter is invalid or malformed.
missing-input-response    The response parameter is missing.
invalid-input-response    The response parameter is invalid or malformed.
bad-request    The request is invalid or malformed.
timeout-or-duplicate    The response is no longer valid

请求统计
访问:https://www.google.com/recaptcha/admin 可以查看请求的统计 

 

以上是V2版本示例,V3版本后台一样,只是返回的数据不太一样,V3的多了个得分,V3前台显示没有勾选框,通过得分来判断是否为机器人

相关文章:

谷歌人机验证Google reCAPTCHA

reCAPTCHA是Google公司推出的一项验证服务&#xff0c;使用十分方便快捷&#xff0c;在国外许多网站上均有使用。它与许多其他的人机验证方式不同&#xff0c;它极少需要用户进行各种识图验证。 它的使用方式如下如所示&#xff0c;只需勾选复选框即可通过人机验证。 虽然简单…...

VB+ACCESS电脑销售系统的设计与实现

为了使此系统简单易学易用、功能强大、软件费用支出低、见效快等特点&#xff0c;我们选择Visual Basic6.0开发此系统。Visual Basic6.0起代码有效率以达到Visual c的水平。在面向对象程序设计方面&#xff0c;Visual Basic6.0全面支持面向对你程序设计包括数据抽象、封装、对象…...

嵌入式开发:硬件和软件越来越接近

从前&#xff0c;硬件和软件工程师大多生活在自己的世界里。硬件团队设计了芯片&#xff0c;调试了从铸造厂返回的第一批样本&#xff0c;让软件团队测试他们的代码。随着虚拟平台和其他可执行模型变得越来越普遍&#xff0c;软件团队可以在芯片制造之前开始&#xff0c;有时甚…...

亲测:腾讯云轻量应用服务器性能如何?

腾讯云轻量应用服务器性能评测&#xff0c;轻量服务器CPU主频、处理器型号、公网带宽、月流量、Ping值测速、磁盘IO读写及使用限制&#xff0c;轻量应用服务器CPU内存性能和标准型云服务器CVM处于同一水准&#xff0c;所以大家不要担心轻量应用服务器的性能&#xff0c;腾讯云百…...

编程语言,TIOBE 4 月榜单:黑马出现了

TIOBE 4 月榜单已经发布了&#xff0c;一起来看看这个月编程语言排行榜有什么变化吧&#xff01; C 发展依旧迅猛 在本月榜单中&#xff0c;TOP 20 的变动不大&#xff0c;Python、C、Java 、 C 和C#依然占据前五。甚至排名顺序都和上个月一样没有变动。 同时&#xff0c;Rus…...

基于DSP+FPGA的机载雷达伺服控制系统(二)电源仿真

板级电源分配网络的分析与仿真在硬件电路设计中&#xff0c;电源系统的设计是关键步骤之一&#xff0c;良好的电源系统为电路板 上各种信号的传输提供了保障。本章将研究电源完整性的相关问题&#xff0c;并提出一系列改 进电源质量的措施。 3.1 电源完整性 电源完整性&#xf…...

SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】

文章目录前言1、分布式情况下如何加锁2、具体实现过程3、测试3.1 一个服务按照多个端口同时启动3.2 使用jmeter进行压测前言 上一篇实现了单体应用下如何上锁,这一篇主要说明如何在分布式场景下上锁 上一篇地址:加锁 1、分布式情况下如何加锁 需要注意的点是: 在上锁和释放…...

优漫动游告诉你:平面设计适合你吗?

优漫动游告诉你&#xff1a;平面设计适合你吗&#xff1f; 什么样的同学可以适应平面设计这份工作呢&#xff1f;   略微有美术基础&#xff0c;当然功底越深越加分。   2.对色彩、形状、结构有一定的接纳力。   3.对图案、人像、字体等因素有审美辨别的能力…...

在Vue中,为什么从 props 中解构变量之后再watch它,无法检测到它的变化?

例如下面这段代码&#xff0c;msg无法被watch import { watch } from vue;export default {props: {msg: String},setup(props) {// 从 props 中解构 msgconst { msg } props;watch(() > msg,(newVal, oldVal) > {console.log(newVal, newVal);console.log(oldVal, old…...

[源码解析]socket系统调用上

文章目录socket函数API内核源码sock_createinet_createsock_allocsock_map_fd相关数据结构本文将以socket函数为例&#xff0c;分析它在Linux5.12.10内核中的实现&#xff0c;先观此图&#xff0c;宏观上把握它在内核中的函数调用关系&#xff1a;socket函数API socket 函数原…...

Jenkins部署与自动化构建

Jenkins笔记 文章目录Jenkins笔记[toc]一、安装Jenkinsdocker 安装 JenkinsJava启动war包直接安装二、配置mavenGit自动构建jar包三、自动化发布到测试服务器运行超时机制数据流重定向编写清理Shell脚本四、构建触发器1. 生成API token2. Jenkins项目配置触发器3. 远程Git仓库配…...

网络编程三要素

网络编程三要素 IP、端口号、协议 三要素分别代表什么 ip&#xff1a;设备在网络中的地址&#xff0c;是唯一的标识 端口号&#xff1a;应用程序在设备中的唯一标识 协议&#xff1a;数据在网络中传输的规则 常见的协议有UDP、TCP、http、https、ftp ip&#xff1a;IPv4和…...

如何编写一个自己的web前端脚手架

脚手架简介 脚手架是创建前端项目的命令行工具&#xff0c;集成了常用的功能和配置&#xff0c;方便我们快速搭建项目&#xff0c;目前网络上也有很多可供选择的脚手架。 一个"简单脚手架"的构成其实非常少&#xff0c;即 代码模板 命令行工具。其中代码模板是脚手…...

计算机网络第1章(概述)

文章目录1.1、计算机网络在信息时代的作用1.2、因特网概述1、网络、互连网&#xff08;互联网&#xff09;和因特网2、因特网发展的三个阶段3、因特网的标准化工作4、因特网的组成1.3 三种交换方式1、电路交换&#xff08;Circuit Switching&#xff09;2、分组交换&#xff08…...

grid布局

一、概述 CSS Grid 布局是 CSS 中最强大的布局系统。与 flexbox 的一维布局系统不同&#xff0c;CSS Grid 布局是一个二维布局系统&#xff0c;也就意味着它可以同时处理列和行。通过将 CSS 规则应用于 父元素 (成为 Grid Container 网格容器)和其 子元素&#xff08;成为 Gri…...

博客平台打造出色的个人资料管理与展示:实用技巧与代码示例

个人资料管理与展示是博客平台的重要功能之一。本文将通过设计思路、技术实现和代码示例&#xff0c;详细讲解如何构建出色的个人资料管理与展示功能。结合CodeInsight平台的实践案例&#xff0c;帮助您深入了解个人资料管理与展示的设计原则和技术实现。 一、设计思路 在设计…...

【genius_platform软件平台开发】第九十三讲:串口通信(485通信)

485通信1. 485通信1.1 termios结构1.2 头文件1.3 函数讲解1.3.1 tcgetattr1.3.2 tcsetattr1.4 示例工程1.5 参考文献1.5.1 stty命令1.5.2 命令格式1.5.2 microcom命令1.5.2.1介绍1.5.2.2指令1.5.3 echo命令1.5.3.1 语法1.5.3.2 选项列表1.5.3.3 使用示例1.5.3.4 e cho > 输出…...

JavaScript动画相关讲解

JavaScript是一种非常流行的脚本语言&#xff0c;广泛应用于Web开发、游戏开发、移动应用开发等领域。在Web开发中&#xff0c;动画效果是非常重要的一部分&#xff0c;可以提高网站的用户体验和吸引力。JavaScript提供了一些基本的动画函数&#xff0c;但是这些函数往往不能满…...

InnoSetup制作安装包(EXE)

功能描述 1.666666.war为项目war包&#xff0c;666666.bat为启动war包脚本&#xff0c;通过InnoSetup将它们打包到安装包666666.exe 2.666666.exe安装包安装过程中将666666.bat注册为自启动服务&#xff0c;安装结束自动执行脚本启动项目666666.war --------------------------…...

CASE WHEN函数语句多条件下使用详解

目录 CASE 的两种格式&#xff1a; 简单CASE函数 和 CASE搜索函数 同时配合 SUM 以及 COUNT 方法的使用 ① SUM函数 ② COUNT函数 CASE WHEN函数语句&#xff0c;实现简单CASE函数和CASE搜索函数两种格式。同时配合 SUM以及COUNT方法的使用 CASE 的两种格式&#xff1a; 简…...

利用 Taotoken 统一 API 为内部低代码平台集成 AI 能力

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 利用 Taotoken 统一 API 为内部低代码平台集成 AI 能力 为内部低代码平台引入 AI 能力&#xff0c;正成为提升平台自动化和智能化水…...

微信小程序wx.navigateTo传参实战:从基础到动态数据绑定

1. 微信小程序页面跳转基础入门 第一次接触微信小程序开发时&#xff0c;页面跳转是最基础也最常用的功能之一。wx.navigateTo这个API就像是一座连接不同页面的桥梁&#xff0c;让用户能在小程序的不同功能模块间自由穿梭。想象一下&#xff0c;你正在开发一个电商小程序&…...

为什么你的ElevenLabs免费额度突然归零?4个未公开的触发条件,第2条99%人中招!

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs免费额度突然归零的真相揭秘 近期大量开发者反馈 ElevenLabs 的免费 API 额度&#xff08;10,000 characters/month&#xff09;在未达用量上限时被强制重置为 0&#xff0c;且控制台不显示…...

暗黑3终极按键助手D3KeyHelper:图形化配置解放你的双手

暗黑3终极按键助手D3KeyHelper&#xff1a;图形化配置解放你的双手 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑破坏神3中繁琐的技能按…...

网易云音乐增强脚本架构解析:基于用户脚本技术的云音乐生态扩展方案

网易云音乐增强脚本架构解析&#xff1a;基于用户脚本技术的云音乐生态扩展方案 【免费下载链接】myuserscripts 网易云音乐油猴脚本:歌曲下载、转存云盘、云盘歌曲快传、云盘匹配纠正... 项目地址: https://gitcode.com/gh_mirrors/my/myuserscripts 项目愿景与价值主张…...

3D结构光相机 | 抓取/焊接/测量全搞定,高反光黑色物体重建精度高,工业场景全覆盖,户外无惧强光

一 产品介绍苏州三迪斯维出品的3D相机采用主动结构光技术&#xff0c;拍摄速度快、成像精细、方案成熟稳定&#xff0c;针对不同应用场景物体可输出高质量点云数据图&#xff0c;精度高、速度快、环境自适应性强&#xff0c;不用系列适用场景不同&#xff0c;分别如下&#xff…...

如何为 Claude Code 配置 Taotoken 的稳定 API 连接

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 如何为 Claude Code 配置 Taotoken 的稳定 API 连接 Claude Code 作为一款强大的 AI 编程助手&#xff0c;其原生服务在某些地区可…...

别再被SAR图像上的‘雪花点’骗了!手把手教你理解相干斑噪声的底层原理

别再被SAR图像上的‘雪花点’骗了&#xff01;手把手教你理解相干斑噪声的底层原理 第一次接触SAR图像时&#xff0c;那些密密麻麻的"雪花点"总让人误以为是设备故障或数据损坏。这种视觉上的"噪声"其实是合成孔径雷达&#xff08;SAR&#xff09;成像中特…...

分享一些常见的SQL计算面试题

代码都是基于mysql实现&#xff0c;如果小伙伴们有其他的思路欢迎留言~ 1.行列转换2.分组求top-n3.连续登录问题&#xff08;包括日期可间断和不可间断&#xff09;4.找连续出现3次及以上的数字5.直播间同时在线人数统计1.行列转换 表tb1&#xff1a; 表tb2&#xff1a; 行转…...

Ubuntu 22.04 下配置 Arduino IDE 2.x:从安装到第三方库的完整避坑指南

1. 准备工作&#xff1a;下载Arduino IDE 2.x 在Ubuntu 22.04上配置Arduino开发环境&#xff0c;第一步自然是获取官方IDE。我推荐直接从Arduino官网下载最新版本&#xff0c;避免使用老旧软件包带来的兼容性问题。打开浏览器访问arduino.cc/en/software&#xff0c;你会看到两…...