2010-07-24 12 views
6

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?

+9

¿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

+2

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

+0

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

Respuesta

3

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.

+1

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 –

+1

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

+0

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

3

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

0

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.

Cuestiones relacionadas