首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用鼠标检测抗Captcha

用鼠标检测抗Captcha
EN

Stack Overflow用户
提问于 2013-03-15 23:47:10
回答 2查看 3.4K关注 0票数 2

我想知道是否有可能为一个只使用javascript来检测鼠标移动的表单创建一个安全的人工检测机制(不使用captcha),因为jquery和操作系统代码都可以移动鼠标(我这样说)。

以下是我的计划:

  1. 使用jQuery,我可以检测鼠标是否移动,然后允许表单提交(如果有)。
  2. 我已经启用了跨站点脚本,所以没有人可以直接提交到网页之外的站点,我需要javascript来总结表单。
  3. 鼠标移动将在表单中向鼠标字段添加一个值,该值将在服务器端确定它是由人提交的。
  4. 鼠标字段将使用某种形式的算法,鼠标移动将种子,然后解码它在服务器端,以便机器人只需输入任何值到鼠标字段。

所以,我想知道这种方法是否还存在漏洞,或者机器人仍然可以绕过它的方式。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-16 01:00:28

不,这是不可能建立一个安全的机制来检测一个人依靠鼠标的移动。只需查看java.awt.Robot类中的一个示例,就可以了解如何仅使用软件破解它。我用这门课把复活节彩蛋写进了一个用鼠标插孔的程序中,让它跳一些疯狂的动作。用户很喜欢它;-)你也可以用USB橡胶Ducky破解它。

票数 4
EN

Stack Overflow用户

发布于 2013-03-16 00:36:35

您的方法依赖于一些对机器人来说微不足道的操作,除非您以某种方式使用鼠标移动,这一点我还没有想到。

不管你用鼠标做什么,在一天结束的时候,你所做的就是用一种形式创造一个价值。

我不能100%确定您打算如何实现这个,但是如果您只是在跟踪精确的鼠标位置(我不确定HTML是否会允许您这样做,但我可能错了)。机器人可以通过将字段设置为您期望鼠标所在的位置,或者通过将x和y中的更改添加到某个值来移动“虚拟”鼠标来模拟这种情况。

(当然,这都是假设机器人能够理解你的指令。我认为,通过用纯文本HTML编写“请在下面的框中输入'290‘值”,大多数机器人,除了为您的站点编写的机器人外,都可以注册.)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15443873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档