Utilizo lo que creo que es el método estándar para identificar los bots defectuosos que no respetan mi robots.txt
(es decir, deshabilitar el rastreo del subdirectorio bad-bots
y luego registrar a los que aún van allí).
Hasta ahora, acabo de bloquear los robots maliciosos en función de su dirección IP después de que hayan sido identificados. Sin embargo, estoy pensando en introducir un enfoque más sutil para al menos algunos (por ejemplo, delincuentes espurios que pueden ser falsos positivos). La idea es que la solicitud se atenderá, pero después de un retraso (por ejemplo, implementada utilizando PHP sleep()
). De esa manera, un ser humano (paciente) al que solo se le asigna una dirección IP utilizada previamente por un robot malo verá la página, mientras que un robot malo solo puede abandonar la solicitud y pasar a la siguiente víctima.
La pregunta es: ¿Qué cantidad de segundos debo usar en este tipo de esquema? Idealmente, debería ser lo suficientemente corto como para no ser demasiado molesto para los humanos, mientras que lo suficientemente largo como para disuadir a un robot malo de rastrear mi sitio.
Alternativamente: ¿Hay algún tipo de método que pueda usar para medir el tiempo que un bot que intenta acceder a mi sitio espera la respuesta antes de "rendirme" y seguir adelante?
Editar : los comentarios de Dinu Smădu y Rory Alsop me han convencido de que introducir un retraso no es una buena idea. Y Polynominal ha sugerido que Security.SE puede no ser el lugar más adecuado. Así que tomé lo que aprendí aquí (¡gracias de nuevo, amigos!) Y publiqué una pregunta revisada en Webmasters.SE .