互联网机器人如何在网站上随机填写表单?我猜他们下载了HTML源代码,并找出了表单的存在。但是他们到底是如何填满它们并实际提交信息的呢?
我知道许多形式使用Captcha,但一些系统也使用一些技术,如检测鼠标移动,键盘事件来区分人类和机器人。机器人也能打败它们吗?
基本上,我想知道机器人是否有任何方法可以跟踪代码中的Javascript更改,即页面的动态更改?
附言:我正在为一个研究生项目使用这些信息,这个项目是关于击败机器人的技术。
发布于 2011-09-23 07:19:41
一些测试平台,如Watir,实际上执行鼠标和键盘操作,而不仅仅是HTTP请求(因此可以避免在Javascript中使用的任何bot预防方法)。这意味着基本上不可能区分机器人和人类。像验证码这样的东西依赖于机器人无法正确识别图像中的一个或多个单词,但即使是这样,OCR有时也会打破这一点。
基本上,你可以采取许多措施来阻止机器人,但如果他们勤奋的话,几乎不可能阻止他们。
发布于 2011-09-23 07:11:30
你不需要总是下载源代码。您可以手动查找表单域,然后构建要提交的内容(几乎任何内容,例如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来实现。
发布于 2011-09-23 07:11:42
看看脚本语言的有状态浏览器。Python有一个名为mechanize的模块
https://stackoverflow.com/questions/7522524
复制相似问题