我有一个小程序,我正在网上运行,我想确保人们不能使用Java Robot类来操作小程序。我知道雅虎在他们的几个游戏平台上都这样做,我想知道是否有人知道他们是如何完成的。区分机器人鼠标点击和人类鼠标点击
回答
看着鼠标移动,并确保你没有看到从一个地方跳到另一个地方,而是在一段时间内移动。 Sun/Oracle的J2SE教程展示了如何关注鼠标移动事件:http://download.oracle.com/javase/tutorial/uiswing/events/mousemotionlistener.html
请记住,这可能无法检测到机器人和某人之间的区别,如触摸屏或平板电脑输入设备。
还有一点需要注意的是用户是否点击相同的像素,或只是在相同的附近。人类相当不精确,机器人通常不会被编程。
我还会放入一个手势记录器,用于编写这些信息并记录用户的实际动作。如果你怀疑有人作弊,那么你可以看看他们的实际鼠标动作是什么样的,并将其与一个已知的人进行比较。这会让你更好地了解你需要寻找的东西,而不是我们任何人都可以想到的东西。
+1用于整理数据并使用它来开发算法/启发式的集合。我最近阅读了一篇讨论这个概念的文章(http://worrydream.com/LadderOfAbstraction/)。 – Bringer128
这是一篇很棒的文章,我只是为以后的阅读做了书签。简单的例子非常丰富。 – SplinterReality
随时跟踪鼠标位置的分布情况。人类移动鼠标的方式不同于每次单击时就知道确切位置的机器人。当然,更智能的机器人可以抵御这种防御。
- 1. 区分鼠标双击和鼠标点击wpf
- 2. 区分鼠标点击和手指点击角度
- 3. 在鼠标面板区分点击
- 4. jstree:左/中鼠标区分点击
- 5. java机器人的问题。鼠标点击不起作用
- 6. 爪哇机器人验证鼠标点击
- 7. SDL鼠标点击
- 8. Powershell,鼠标点击
- 9. SeaDragon鼠标点击
- 10. 鼠标点击JTable
- 11. 鼠标点击java
- 12. 鼠标点击jquery
- 13. jquery - 既鼠标和点击?
- 14. 鼠标点击原点
- 15. 绘图点鼠标点击
- 16. 让鼠标在鼠标点击鼠标后跟着鼠标
- 17. 鼠标点击标签
- 18. CodedUi:鼠标点击坐标
- 19. 点击和鼠标点击有什么区别?
- 20. 鼠标点击面板跳过点击
- 21. 点击热图和鼠标坐标! - Javascript
- 22. 爪哇机器人类的鼠标移动到特定像素的位置(鼠标点击一种颜色)
- 23. 得到鼠标点击的100px区域
- 24. ZKOSS:onClick()对鼠标点击和鼠标点击的工作方式不同
- 25. 仅使用人工定时击键和鼠标点击时可以检测到机器人吗?
- 26. 强制点击鼠标
- 27. 部队鼠标点击
- 28. 龙听写鼠标点击
- 29. 鼠标点击Silverlight 4
- 30. 点击鼠标悬停
*“我想确保人们不能使用Java Robot类”*因此,如果他们使用类似于另一种语言的API的类的机器人,那么可以吗? –
更喜欢他们没有,但是我这样说,因为我想把问题集中在java的Robot类的检测方法上。 –