Me gustaría asegurarme de que mi sitio web bloquea herramientas de automatización como Selenium y QTP. Hay una manera de hacer eso ? ¿En qué configuraciones de un sitio web se encuentra el error de Selenium?¿Cómo me aseguro de que mi sitio web pueda bloquear los scripts de automatización, bots?
Respuesta
Con la debida consideración a los comentarios sobre la pregunta original que pregunta "¿por qué haría esto?", Básicamente necesita seguir la misma estrategia que cualquier sitio utiliza para verificar que un usuario es realmente humano. Es probable que funcionen métodos como pedirle a los usuarios que autentiquen o ingresar texto desde imágenes o similares, pero esto probablemente tendrá el efecto de bloquear los rastreadores de Google y todo lo demás.
Hacer cualquier cosa en función de las cadenas de agente de usuario o algo así es en gran parte inútil. Esos son triviales para fingir.
Las conexiones limitadoras de velocidad o similares pueden tener una efectividad limitada, pero parece que también bloquearás inadvertidamente cualquier rastreador web.
Estoy de acuerdo con @Gian en que la mejor manera de evitar que alguien automatice la interacción del usuario con su sitio es introducir algo así como un captcha. http://en.wikipedia.org/wiki/CAPTCHA –
Llévalo al siguiente nivel usando REcaptcha (http://en.wikipedia.org/wiki/ReCAPTCHA). ¡Entonces evita la interacción automatizada y, al mismo tiempo, ayuda a digitalizar libros y periódicos antiguos! – Zugwalt
No creo que CAPTCHA sea la mejor solución porque son muy económicos de romper. Alguien ejecutando scripts automáticos puede eludirlo fácilmente. Si no quiere que nadie ejecute scripts automáticos en su sitio web, la solución es no tener un sitio web en primer lugar. – KJW
Si bien esta pregunta parece ser extraño que es divertido, por lo que trataron de investigar las posibilidades
Además de añadir un CAPTCHA de que es la mejor y la única solución definitiva, se puede bloquear el selenio, añadiendo la siguiente JavaScript a su páginas (este ejemplo se redirigir a la página de Google, pero se puede hacer lo que quiera):
<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>
no sé cómo se puede bloquear otras herramientas de automatización y no estoy seguro si esto no bloqueará selenio IDE
para estar 100% seguro de que no se pueden ejecutar robots/scripts automáticos contra sus sitios web, no tiene un sitio web en línea. Esto cumplirá con su requisito con certeza.
CAPTCHA son fáciles de romper si no es barato, gracias a los métodos de crowdsourcing y OCR.
Proxies se pueden encontrar en la naturaleza de forma gratuita oa granel están disponibles a muy bajo costo. De nuevo, inútil limitar las tasas de conexión o detectar bots.
Un posible enfoque puede estar en la lógica de su aplicación, implementar formas de aumentar el tiempo y el costo de acceso al sitio al tener cosas como la verificación del teléfono, la verificación de la tarjeta de crédito. Su sitio web nunca despegará porque nadie confía en su sitio en su infancia.
Solución: No ponga en línea su sitio web y espere poder eliminar eficazmente bots y scripts.
- 1. ¿Cómo bloquear bots no identificados que se rastrean en mi sitio web?
- 2. En Java, ¿cómo me aseguro de que mi aplicación web sea segura para subprocesos?
- 3. JavaScript - ¿Cómo me aseguro de que se cargue jQuery?
- 4. Apache bloquear una dirección IP de acceso al sitio Web
- 5. ¿Cómo me aseguro de que strtol() haya regresado correctamente?
- 6. ¿Cómo impido que los bots incrementen mi contador de descarga de archivos en PHP?
- 7. ¿Cómo me aseguro de que mi script bash no se esté ejecutando?
- 8. cómo proteger mi sitio web
- 9. ¿Debo deshacerme de los robots que visitan mi sitio?
- 10. ¿Puedo bloquear los rastreadores de búsqueda para cada sitio en un servidor web Apache?
- 11. ¿Cómo me aseguro de estar utilizando la JVM "servidor"?
- 12. Denegar bots para descargar los archivos de mi
- 13. Bloque de IP específico de mi sitio web en PHP
- 14. Rake vs. Thor para scripts de automatización?
- 15. ¿Cómo me aseguro de que una URL sea una imagen usando JavaScript + jQuery?
- 16. Cómo bloquear el sitio web usando el servidor SQUID
- 17. ¿Cómo me aseguro de que todo mi equipo tenga exactamente la misma versión del tiempo de ejecución de .Net?
- 18. Limitación del impacto de los scripts/bots de procesamiento de tarjetas de crédito
- 19. Video Game Bots?
- 20. ¿Necesito tener un favicon en mi sitio? ¿Cómo me deshago de los errores que veo en mi registro de Apache?
- 21. ¿Cómo me aseguro de que mi vista esté orientada correctamente después de un video de pantalla completa?
- 22. ¿Cómo me aseguro de que un usuario solo inicie sesión una vez?
- 23. Automatización del sitio web usando C# y WebBrowser
- 24. ¿Cómo evitar que los motores de búsqueda indexen una sola página de mi sitio web?
- 25. ¿Cómo me aseguro de una columna no negativa?
- 26. ¿Cómo me aseguro de que el código R/Rcpp sea reproducible ("distributable")?
- 27. Cómo usar OpenID en mi sitio web
- 28. ¿Cómo hacer que mi ImageView pueda ampliarse?
- 29. ¿Cómo evitar que los motores de búsqueda rastreen todo el sitio web?
- 30. ¿Cómo aseguro los recursos REST para que solo un usuario único de un rol pueda acceder a él?
¿Por qué harías eso? Dado que las herramientas de automatización están hechas para imitar a los usuarios, la mejor manera de bloquearlas es desenchufar su servidor web, verter concreto sobre él y luego escaparse. Pero quizás tengas una buena razón. – Scharron
más de una pregunta para serverfault - si tiene un buen firewall - limite la cantidad de conexiones TCP por/segundo (o X veces) por IP o usuario. podría ser un complemento de Apache también. – EdH
Estoy de acuerdo con @Scharron: ¿qué intentas lograr? Si de alguna manera bloquea el Selenium/QTP, ¿qué impide que las personas intenten con otra herramienta, o escriban las suyas con 'curl',' wget', o Apache 'HttpClient'? – pdbartlett