我想确保我的网站阻止像Selenium和QTP这样的自动化工具。有没有办法做到这一点 ? Selenium网站上的哪些设置会失败?如何确保我的网站可以阻止自动化脚本,机器人?
回答
考虑到对原始问题的评论问“你为什么要这样做?”,你基本上需要遵循与任何网站用来验证用户实际上是人类一样的策略。诸如要求用户认证或从图像等文字输入文字的方法可能会奏效,但这可能会阻止谷歌搜索器和其他一切。
根据用户代理字符串或类似的东西做任何事情都是没用的。这些都是微不足道的。
速率限制连接或类似的可能有限的效果,但它似乎你会无意中阻止任何网络爬虫。
我同意@Gian最好的方式来阻止某人自动与您的网站进行用户互动,就是介绍一些类似captcha的内容。 http://en.wikipedia.org/wiki/CAPTCHA – 2010-07-26 08:25:26
使用REcaptcha(http://en.wikipedia.org/wiki/ReCAPTCHA)将其提升到新的水平。然后,您可以阻止自动交互,同时帮助数字化旧书和报纸! – Zugwalt 2010-07-27 18:44:00
我不认为CAPTCHA是最好的解决方案,因为它们非常便宜。有人运行自动脚本可以轻松绕过它。如果你不想让任何人在你的网站上运行自动脚本,解决方案就是首先不要有网站。 – KJW 2011-11-10 14:35:07
虽然这个问题似乎很奇怪它是有趣的,所以我试图探讨的可能性
除了增加一个CAPTCHA这是最好的和唯一的终极解决方案,您可以通过添加下面的JavaScript来阻止硒你页面(本例中重定向到谷歌网页,但你可以做任何你想要的):
<script>
var loc = window.parent.location.toString();
if (loc.indexOf("RemoteRunner.html")!=-1) {
// It is run in Selenium RC, so do something
document.location="http://www.google.com";
}
</script>
我不知道你怎么能阻止其他自动化工具,我不知道这将不会阻止硒IDE
要100%确定没有自动化机器人/脚本可以针对您的网站运行,请勿在线上有网站。这将确定地满足您的要求。
由于众包和OCR方法,CAPTCHA很容易打破,如果不便宜的话。
代理可以免费在野外找到,或批量可以极低的成本。再次,无用的限制连接速度或检测机器人。
一种可能的方法可能是在您的应用程序逻辑中,通过诸如电话验证,信用卡验证等方式实施增加访问网站的时间和成本的方法。您的网站永远不会起步,因为没有人会相信您的网站处于初期阶段。
解决方案:不要让您的网站在线,并期望能够有效地消除运行中的机器人和脚本。
- 1. 我可以阻止DeleteProfileScorable在我的机器人中注册吗?
- 2. 在我的网站上阻止某人?
- 3. 阻止自动访问的网站
- 4. Adblock阻止我的网站
- 5. 这足以阻止机器人吗?
- 6. 如何确保没有人可以从我的网站下载视频?
- 7. 如何阻止所有手机访问我的网站
- 8. 我会如何阻止rabbitmq工作人员的中间脚本?
- 9. 如何阻止我们的跨站脚本(XSS)URL?
- 10. 如何阻止我的网站在其他网站加载iframe
- 11. 有什么办法可以阻止人们使我的网页游戏脱机?
- 12. 如何阻止我的Rails应用被机器人击中?
- 13. setInterval阻止我的脚本?
- 14. 阻止人们返回网站?
- 15. 如何自动化自动化我的Python脚本?
- 16. 我可以阻止手机进入睡眠网页上的
- 17. 是否可以阻止本地运行的SWF(AS3)从我的网站下载?
- 18. 我应该如何阻止垃圾邮件机器人?
- 19. 如何限制访问我的网站的脚本为他人?
- 20. 问题与主机阻止网站
- 21. 如何阻止我的网站从所有的网络
- 22. 如何确保Management Studio以ANSI格式保存我的脚本?
- 23. 机器人自动访问企业域中的网站
- 24. 阻止spambot访问我的网站
- 25. 从我的网站阻止Facebook
- 26. 机器人抵抗网站
- 27. 是否可以防止从我的网站上保存图像?
- 28. 如何阻止不寻常的机器人,如“bot [\ s_:,\。\; \/\\ - - ]”名称?
- 29. 阻止用户保留我网站的浏览信息
- 30. 网络浏览器机器人自动化
你为什么要那样做? 由于自动化工具是模仿用户的,所以阻止它们的最好方法是拔掉Web服务器,浇注混凝土,然后逃跑。 但也许你有一个很好的理由。 – Scharron 2010-07-24 21:41:33
更多关于serverfault的问题 - 如果您有一个好的防火墙 - 限制每个IP或用户每秒/秒(或X次)的TCP连接数量。也可能是Apache插件。 – EdH 2010-07-24 21:46:16
我同意@Scharron--你想达到什么目的?如果以某种方式阻止Selenium/QTP,那么阻止用户使用其他工具尝试,或者用'curl','wget'或Apache'HttpClient'编写自己的代码? – pdbartlett 2010-07-24 21:56:43