Mi piacerebbe assicurarmi che il mio sito web blocchi strumenti di automazione come Selenium e QTP. C'è un modo per farlo? Quali impostazioni su un sito Web sono associate al mancato utilizzo del selenio?Come posso assicurarmi che il mio sito web possa bloccare script di automazione, bot?
risposta
Con la dovuta considerazione per i commenti sulla domanda iniziale che chiede "perché mai lo faresti?", In pratica devi seguire la stessa strategia utilizzata da qualsiasi sito per verificare che un utente sia effettivamente umano. Metodi come chiedere agli utenti di autenticare o inserire testo da immagini o simili probabilmente funzioneranno, ma questo probabilmente avrà l'effetto di bloccare i crawler di Google e tutto il resto.
Fare qualsiasi cosa in base a stringhe di user agent o qualcosa del genere è quasi inutile. Quelli sono banali da falsi.
Le connessioni con limitazione della velocità o simili potrebbero avere un'efficacia limitata, ma sembra che tu stia per bloccare inavvertitamente anche qualsiasi web crawler.
Sono d'accordo con @Gian il modo migliore per impedire a qualcuno di automatizzare l'interazione dell'utente con il tuo sito è introdurre qualcosa come un captcha. http://en.wikipedia.org/wiki/CAPTCHA –
Passa al livello successivo usando REcaptcha (http://en.wikipedia.org/wiki/ReCAPTCHA). Quindi previeni l'interazione automatizzata e allo stesso tempo aiuti a digitalizzare vecchi libri e giornali! – Zugwalt
Non credo che CAPTCHA sia la soluzione migliore perché sono molto economici da rompere. Alcuni script runnign automatizzati possono facilmente aggirarlo. Se non vuoi che qualcuno esegua script automatici sul tuo sito Web, la soluzione è di non avere un sito Web in primo luogo. – KJW
Mentre questa domanda sembra essere strano è divertente, così ho cercato di indagare le possibilità
Oltre ad aggiungere un CAPTCHA, che è la migliore e l'unica soluzione definitiva, è possibile bloccare selenio aggiungendo il seguente JavaScript alla tua pagine (questo esempio reindirizza alla pagina di Google, ma si può fare tutto quello che vuoi):
<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>
non so come si può bloccare altri strumenti di automazione e non sono sicuro se questo non bloccherà Selenio IDE
per essere sicuro al 100% che non è possibile eseguire bot/script automatici contro i tuoi siti web, non avere un sito web online. Questo soddisferà le tue esigenze con certezza.
I CAPTCHA sono facili da rompere se non economici, grazie ai metodi di crowdsourcing e OCR.
I proxy possono essere trovati in natura gratuitamente o in grandi quantità sono disponibili a costi estremamente bassi. Ancora una volta, inutile limitare le velocità di connessione o rilevare i bot.
Un possibile approccio può essere nella logica dell'applicazione, implementare modi per aumentare tempi e costi per l'accesso al sito, ad esempio tramite la verifica del telefono, la verifica della carta di credito. Il tuo sito web non decollerà mai perché nessuno si fiderà del tuo sito nella sua infanzia.
Soluzione: non mettere online il sito Web e aspettarsi di poter eliminare efficacemente bot e script dall'esecuzione.
Perché dovresti farlo? Poiché gli strumenti di automazione sono fatti per imitare gli utenti, il modo migliore per bloccarli è scollegare il server web, riversarlo su di esso, quindi scappare. Ma forse hai una buona ragione. – Scharron
più di una domanda per serverfault - se si dispone di un buon firewall - limitare la quantità di connessioni TCP per/secondo (o X time) per IP o utente. potrebbe anche essere un plug-in Apache. – EdH
Sono d'accordo con @Scharron - cosa stai cercando di ottenere? Se in qualche modo blocchi Selenium/QTP, cosa impedisce alle persone di provare con un altro strumento, o di scriverne di propri con 'curl',' wget' o Apache 'HttpClient'? – pdbartlett