Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-11-27 GMT+08:00

¿Cómo funciona la Detección Anti-Crawler JavaScript?

Figura 1 muestra cómo funciona la detección anti-crawler de JavaScript, que incluye desafíos de JavaScript (paso 1 y paso 2) y autenticación de JavaScript (paso 3).

Figura 1 Proceso de protección Anti-Crawler de JavaScript

Después de activar el JavaScript anti-crawler, WAF devuelve un fragmento de código JavaScript al cliente cuando el cliente envía una solicitud.

  • Si el cliente envía una solicitud normal al sitio web, activada por el código JavaScript recibido, el cliente enviará automáticamente la solicitud a WAF de nuevo. A continuación, WAF reenvía la solicitud al servidor de origen. Este proceso se llama verificación de JavaScript.
  • Si el cliente es un rastreador, no puede ser activado por el código JavaScript recibido y no enviará una solicitud a WAF de nuevo. El cliente falla la autenticación de JavaScript.
  • Si un rastreador de cliente fabrica una solicitud de autenticación WAF y envía la solicitud a WAF, WAF bloqueará la solicitud. El cliente falla la autenticación de JavaScript.

Mediante la recopilación de estadísticas sobre el número de respuestas de desafío y autenticación de JavaScript el sistema calcula cuántas solicitudes defiende el anti-explotación JavaScript. Como se muestra en Figura 2, el anti-crawler de JavaScript registra 18 eventos, 16 de los cuales son respuestas de desafío de JavaScript, 2 de los cuales son respuestas de autenticación de JavaScript. El número de Other son las solicitudes de autenticación WAF fabricadas por el rastreador.

Figura 2 Parámetros de una regla de protección contra anti-crawler JavaScript

WAF solo registra el desafío de JavaScript y los eventos de autenticación de JavaScript. No se pueden configurar otras acciones de protección para el desafío y la autenticación de JavaScript.