我想確保我的網站阻止像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. 機器人文本阻止
- 2. 無法阻止我自己的機器人自動回覆
- 3. 我可以阻止DeleteProfileScorable在我的機器人中註冊嗎?
- 4. 阻止我的網站與他人
- 5. 在我的網站上阻止某人?
- 6. 用iptables阻止網絡機器人
- 7. 阻止自動訪問的網站
- 8. 如何阻止人們從我的網站竊取照片?
- 9. 如何阻止PicScout機器人
- 10. Adblock阻止我的網站
- 11. 這足以阻止機器人嗎?
- 12. Python Selenium:如何讓自動化腳本中的人機交互?
- 13. 如何確保沒有人可以從我的網站下載視頻?
- 14. Greasemonkey腳本阻止網站的其他腳本
- 15. 即使沒有人打開網站,我如何保持活動的PHP腳本?
- 16. 如何阻止所有手機訪問我的網站
- 17. 如何檢查網站是否可以搜索機器人
- 18. 我會如何阻止rabbitmq工作人員的中間腳本?
- 19. 如何阻止我們的跨站腳本(XSS)URL?
- 20. 如何阻止我的網站在其他網站加載iframe
- 21. 如何阻止我的網站重定向到其他網站
- 22. 有什麼辦法可以阻止人們使我的網頁遊戲脫機?
- 23. 如何阻止我的Rails應用被機器人擊中?
- 24. 如何避免在使用Selenium WebDriver自動化的網站上被阻止?
- 25. setInterval阻止我的腳本?
- 26. 如何阻止機器人在PHP腳本上運行一些代碼?
- 27. 我可以阻止excel完全格式化我的文本嗎?
- 28. 我可以使用vba中的xpaths自動化網站嗎?
- 29. 阻止人們返回網站?
- 30. 如何自動化自動化我的Python腳本?
你爲什麼要那樣做? 由於自動化工具是模仿用戶的,所以阻止它們的最好方法是拔掉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