【问题标题】:Internet bots - Filling forms [closed]互联网机器人 - 填写表格 [关闭]
【发布时间】:2011-11-23 06:21:20
【问题描述】:

互联网机器人如何在网站上随机填写表单?我猜他们会下载 HTML 源代码并找出表单的存在。但是,他们究竟是如何填写并实际提交信息的呢?

我知道许多表单都使用 Captcha,但许多系统也使用检测鼠标移动、键盘事件等技术来区分人类和机器人。机器人也能打败他们。

基本上,我想知道机器人是否有任何方法可以跟踪代码中的 Javascript 更改,即页面的动态更改?

P.S:我正在将这些信息用于一个关于击败机器人技术的研究生项目。

【问题讨论】:

  • 也许,谷歌可以帮助你?因为,抱歉,你对本应作为毕业作品的主题没有任何理解。如果你不知道机器人是什么,你打算如何阻止它们?

标签: javascript html bots


【解决方案1】:

Watir 这样的一些测试平台实际上会执行鼠标和键盘操作,而不仅仅是 HTTP 请求(因此可以避免您在 Javascript 中执行的任何机器人预防方法)。这意味着基本上不可能区分机器人和人类。像 Captcha 这样的东西依赖于机器人无法正确识别图像中的一个或多个单词,但即使在某些时候OCR 也可以打破这一点。

基本上,您可以采取许多措施来阻止机器人,但如果他们勤奋,几乎不可能阻止它们。

【讨论】:

    【解决方案2】:

    看看脚本语言的有状态浏览器。 Python 有这个模块叫mechanize

    【讨论】:

      【解决方案3】:

      您不需要总是下载源代码。您可以手动查找表单字段,然后构建提交的内容(几乎任何内容,例如 Python 脚本)。

      <form action="submit.php" method="post">
      <input name="url" />
      <input name="name" />
      <input type="submit" />
      </form>
      

      然后使用任何语言向 site.com/submit.php 发送 POST 请求。一般用数据“url=xxx&name=xxx”。

      根据标签,虽然不太可能使用 JS 或 HTML 来实现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-10-03
        • 1970-01-01
        • 2010-10-23
        • 1970-01-01
        • 1970-01-01
        • 2014-01-04
        • 2012-06-02
        相关资源
        最近更新 更多