网站首页 > 知识剖析 正文
有没有想过为什么机器人不能直接勾选“我不是机器人”?这似乎是一项简单的任务,但这个小复选框背后却隐藏着很多事情。
10多年前,我们在网上冲浪的时候需要验证你是真人的时候,碰到的是根据图片上的文字输入对应的文本,像CAPTCHA 这种。但随着AI机器人变得越来越聪明,这些OCR识别测对于机器人来说实在太简单了,所以这些校验测试需要变得更加严格。问题是,它们变得如此困难,甚至人类都难以应对。
谷歌开发了一个名为 reCAPTCHA 的系统。你可能见过它;它只是一个方框,你点击它来表明你不是机器人。但机器人也可以点击方框,是吧?
你可能觉得如果你想训练机器人点击网站上的复选框,这是一个相当简单的过程。比如UI自动化测试工程经常这么做:当页面加载时,通过HTML或CSS元素定位到“我不是机器人”复选框。如果存在“我不是机器人”复选框,将鼠标移到复选框对象上并单击。看起来似乎非常简单,但点击这个小框的背后还发生了更多的事情。
reCAPTCHA 复选框如何工作?
reCAPTCHA 复选框会跟踪所有导致复选框被点击的信息,包括实际点击复选框。其中一条关键信息可以判断是否是人类,那就是将鼠标拖到那里的路径。
如果你告诉计算机转到网页上的某个点,它会直接跳转到正确的 X 轴和 Y 轴点。你可以做得更真实点,让它模拟鼠标拖动以到达目的地,但它默认会选择最直接的路径:一条完美的直线到达目的地。你可以做得更更真实点,编写一些伪随机路径活动的代码,但几乎不可能模仿人类移动光标时的微观随机性。
对于我们的AI机器人来说,事情变得更加困难的是,当你进入一个带有“我不是机器人”复选框的页面时,它会从你的浏览器中捕获信息,包括:
- 页面加载需要多长时间
- 使用的浏览器、插件和 Cookie
- 时区和时间
- 屏幕尺寸和分辨率
- IP 地址和一般位?置
- 进行了多少次按键、点击和/或滚动
reCAPTCHA 机器会使用所有这些信息来确定操作鼠标是人类还是机器人。如果它无法判断,它可能会提示你完成“点击包含此内容的图像”挑战,比如让你挑选交通信号灯或公交车等图片。它不仅会检查你是否选择了正确的图片,还会检查你如何选择它们。而训练AI机器人完成这项任务则更加困难。
令人惊讶的是:reCAPTCHA 还会查看你在网上的活动。你的浏览历史记录可帮助它判断你是真人还是机器人。这可能感觉有点像间谍活动,事实也确实如此。当你使用 Google 的服务时,还会请求你同意让他们跟踪你的部分在线活动。
但是那些为垃圾邮件发送者解决 CAPTCHA 的服务呢?他们仍然存在,但这项工作很艰巨,他们解决数千个此类难题却只得到很少的报酬。
所以,这就是为什么这个简单的复选框比看上去要复杂得多。这是一场AI和更智能的安全系统之间的战斗。随着技术的进步,阻止机器人在网上冒充人类的方法也在不断进步。
猜你喜欢
- 2024-11-19 HTML的表单标签
- 2024-11-19 HTML编码规范
- 2024-11-19 Dreamweaver/Html常用标签(代码)含义汇总
- 2024-11-19 程序员都必掌握的前端教程之VUE基础教程(七)
- 2024-11-19 HTML标签之表单标签
- 2024-11-19 10个免费的HTML在线编辑工具
- 2024-11-19 jquery获取选中的checkbox复选框的值
- 2024-11-19 这些 CSS 伪类,你可能还不知道,可以用起来了
- 2024-11-19 前端入门——css伪类和伪元素
- 2024-11-19 HTML-注册页面 212
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)