Aquí en Incapsula, en realidad usamos algunos de estos métodos para la detección de bots (es decir, los desafíos de JS y Cookie) pero no estoy seguro de la métrica del tiempo de visualización de la página.
Por un lado, quieres detectar y bloquear bots maliciosos lo más rápido posible y hay mejores cosas que puedes hacer que esperar, aunque solo sea por un corto tiempo.
También tengo que estar de acuerdo (+1) con @yfeldblum acerca de los encabezados Expire y su capacidad para interrumpir las pruebas basadas en la carga de recursos. Dicho esto, la CND y los servidores múltiples no son un problema si los desafíos los realiza el propio proveedor de CDN.
También quería contribuir con algunas otras ideas para la detección de bots:
- Comportamiento (es decir, acceso temprano a robots.txt)
- Orden de encabezado HTTP / parámetros faltantes
También, me gustaría sugerir que no se confíe la exclusividad en ninguno de estos métodos porque esto llevará a una identificación falsa positiva. En su lugar, intente combinarlos en un proceso de verificación cruzada paso a paso.
(es decir, desafío JS-si falla- > desafío de Cookie-si falla- > acceso Robots.txt y así sucesivamente ...)
Finalmente, en algún momento tendrás que comenzar a recopilar y confiar en firmas para minimizar la redundancia.
Después de todo, no puedes seguir probando el bot Baidu cada vez que visita, esto está a solo un paso de un DDoS autoinfligido. :)