ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Google reCAPTCHA

2022-05-25 13:00:28  阅读:173  来源: 互联网

标签:Google form reCAPTCHA submit token 服务端


Spam from Website Enquiry

网站一般都有 Contact Us 页面. 里头有一个表格, 访客想质询就可以填表格提交.

本来是一个质询功能, 但就是有坏人利用这个功能, 给站长提交了广告内容. 本来是给你质询的, 你却拿来发广告给我! 气得我...

更过分的是, 这些还不是"人", 而是用 robot 代劳. 一天就能收到几百封广告邮件.

 

看图填字

这也不是第一天的事儿了, 解决方案也很早就有了. 就是想法子区分人和机器.

要找到人可以轻松完成, 但机器很难完成的事儿.

比如早年的看图填字.

 

 

但随着机器识别度越来越好, 图也越来越乱, 到最后人都很难看得出字来了...严重影响了体验.

 

Google reCAPTCHA 2.0

后来 Google 推出了 reCAPTCHA 服务. 它是一个 SaaS 服务.

它的体验是这样的

比起看图填字轻松多了.

你可能会想这个机器做不了吗? 还真的哦. Google 搞了一套 JavaScript 会一直监听整个 Page 游览过程, 一直到最终点击 i'm not a robot.

然后它会依据之前的 tracking 判断是不是 robot, 会有一个分数指标 1 到 10 分. 越高就越好 (代表是人操作)

 

reCAPTCHA 流程和原理

可能你会想, 坏人能不能直接用 JavaScript 做 form submit 呢? 

其实是不能的, reCAPTCHA 的工作流程是, JavaScript 负责生成一个 token, 然后和 form 一起提交到服务端.

服务端把 token 发送到 Google reCAPTCHA SaaS 服务端, 获取这个 token 的分数.

然后你可以依据分数, 自行决定如何处理这个 form submit. 比如, 1分的话, 直接无视, 8分以上才 process.

 

reCAPTCHA 3.0

3.0 对 2.0 做了一些改进. 它把 checkbox 拿掉了. 用户不需要再多点一下.

而在 form submit 的同时, 我们需要调用 JavaScript 去获取 token, 然后一起提交到服务端.

这个体验比之前好了一点点. 但是也引入了另一个小问题.

由于 reCAPTCHA 会 tracking 访客行为, 在这个隐私至上的世界, 必须让用户知道它被 tracking 了, 不然可能挨告.

有几个方式可以做声明

第一种是在网站的右下方显示一个 icon, 这也是 reCAPTCHA 默认显示方式

但很多设计师都不喜欢这个方式, 因为右下角通常是放 live chat, back to top 的.

第二种是在 submit button 下面放声明, 只要声明显眼就可以了.

第三种是也是在 submti button 附件放 reCAPTCHA icon

 

标签:Google,form,reCAPTCHA,submit,token,服务端
来源: https://www.cnblogs.com/keatkeat/p/16308943.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有