【问题标题】:Can bots simulate onTouch events?机器人可以模拟 onTouch 事件吗?
【发布时间】:2014-10-15 02:57:52
【问题描述】:

问题。保护移动网站免受垃圾邮件/机器人的侵害,并且无需实施不友好的用户体验验证码。假设我们要禁用(从服务器端)onClick 事件但允许 onTouch 事件。机器人能否复制 onTouch 功能?确保只有人的手才能使用该网站?

【问题讨论】:

    标签: javascript mobile server-side spam-prevention


    【解决方案1】:

    考虑到浏览器向开发人员(即黑客/垃圾邮件发送者)公开的 UI 编程模型/API,在您的 Web 应用程序上模拟点击/触摸事件并不难。要记住的一点是,像 onClick 事件处理程序、onTouchStart、end、drag 都可以使用 JavaScript 回调进行复制。

    换句话说,从语言的角度来看,触摸/点击 API 彼此相似。只是浏览器实现使它们与众不同。

    【讨论】:

      【解决方案2】:

      是的,他们可以。一种方法是使用 Selenium 驱动 Android 手机/平板电脑。我自己从来没有做过,但这个答案说明了它是如何做到的:WEbdriver with Touch events

      基本上,Selenium Android 驱动程序公开了可用于触发触摸事件的 TouchAction:

      new TouchActions(driver).down(x, y).move(150, 0).perform();
      

      您需要一台 Android 设备才能执行此操作。虽然您也可以使用 Android SDK 附带的 Android 模拟器来完成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-06
        • 2011-09-06
        • 2021-11-10
        • 1970-01-01
        • 1970-01-01
        • 2011-05-23
        • 2011-02-19
        相关资源
        最近更新 更多