Rastreador avanzado: tecnología anti-rastreador-5 información oculta en la web

1. Presta atención a la información oculta en la web.

En los formularios HTML, los campos "ocultos" pueden hacer que el valor del campo sea visible para el navegador pero invisible para el usuario (a menos que mire el código fuente de la página web). A medida que más y más sitios web comienzan a usar cookies para almacenar variables de estado para administrar el estado del usuario, los campos ocultos se utilizan principalmente para evitar que los rastreadores envíen formularios automáticamente antes de encontrar otro mejor uso.

El ejemplo que se muestra en la figura siguiente es un campo oculto en la página de inicio de sesión de Facebook. Aunque solo hay tres campos visibles en el formulario (nombre de usuario, contraseña y un botón de confirmación), el formulario en el código fuente envía mucha información al servidor.

Inserte la descripción de la imagen aquí

Campos ocultos en la página de inicio de sesión de Facebook

Hay dos formas principales de evitar la recopilación de datos de red con campos ocultos. La primera es que un campo en la página del formulario se puede representar mediante una variable aleatoria generada por el servidor. Si el valor no está en la página de procesamiento del formulario en el momento del envío, el servidor tiene motivos para creer que el envío no se envía desde la página del formulario original, sino que un robot web lo envía directamente a la página de procesamiento del formulario. La mejor manera de evitar este problema es recopilar primero las variables aleatorias generadas en la página donde se encuentra el formulario y luego enviarlo a la página de procesamiento del formulario.

La segunda forma es "tarro de miel" (tarro de miel). Si el formulario contiene un campo implícito con un nombre común (configurando una trampa trampa), como "nombre de usuario" (nombre de usuario) o "dirección de correo electrónico" (dirección de correo electrónico), a los robots web que no están bien diseñados a menudo no les importa si este campo no lo es. Visible para el usuario, complete este campo directamente y envíelo al servidor, que será atrapado por el honeypot del servidor. El servidor ignora los valores verdaderos de todos los campos ocultos (o valores diferentes de los valores predeterminados de la página de envío del formulario) y los usuarios que completan campos ocultos también pueden ser bloqueados por el sitio web.

En resumen, a veces es necesario consultar la página donde se encuentra el formulario para ver si hay campos ocultos preestablecidos por el servidor (trampas de honeypot) que se han omitido o equivocado. Si ve algunos campos ocultos, generalmente con grandes variables de cadena aleatorias, es probable que el servidor web los verifique cuando se envíe el formulario. Además, existen otras comprobaciones para garantizar que estas variables de formulario generadas actualmente solo se utilicen una vez o se hayan generado recientemente (esto puede evitar que las variables se almacenen simplemente en un programa para su uso repetido).

2. Evite entrar en el honeypot

  Aunque es fácil distinguir entre información útil e inútil con propiedades CSS durante la recopilación de datos de red (por ejemplo, para obtener información leyendo las etiquetas id y class), esto a veces puede causar problemas. Si un campo del formulario web está configurado para ser invisible para los usuarios a través de CSS, se puede considerar que los usuarios normales no pueden completar este campo cuando visitan el sitio web porque no se muestra en el navegador. Si se completa este campo, es posible que el robot lo haya hecho, por lo que este envío no será válido.

Este método se puede aplicar no solo a formularios web, sino también a enlaces, imágenes, archivos y cualquier contenido que los robots puedan leer pero que los usuarios normales no puedan ver en el navegador. Si un visitante visita un contenido "implícito" en el sitio web, se activará una secuencia de comandos del servidor para bloquear la dirección IP del usuario, eliminar al usuario del sitio web o tomar otras medidas para prohibirle el acceso al sitio web. Realmente,

Muchos modelos comerciales están haciendo estas cosas.

La página web utilizada en el siguiente ejemplo se encuentra en  http://pythonscraping.com/pages/itsatrap.html. Esta página contiene dos enlaces, uno está  implícito a través de CSS y el otro es visible. Además, la página también incluye dos campos ocultos:

Inserte la descripción de la imagen aquí

Estos tres elementos se ocultan a los usuarios de tres formas diferentes:

El primer enlace está oculto por una pantalla de configuración de propiedad CSS simple: ninguno

El campo de número de teléfono name = "phone" es un campo de entrada implícito

El campo de la dirección de correo electrónico name = "email" es mover el elemento 50,000 píxeles hacia la derecha (debe exceder el límite del monitor de la computadora) y ocultar la barra de desplazamiento.

Debido a que Selenium puede obtener el contenido de la página visitada, puede distinguir entre elementos visibles y ocultos en la página. A través de is_displayed (), puede determinar si el elemento está visible en la página.

Por ejemplo, el siguiente ejemplo de código es obtener el contenido de la página anterior y luego encontrar el vínculo implícito y el campo de entrada implícito:

Inserte la descripción de la imagen aquí

El selenio tomó todos los enlaces y campos implícitos, y los resultados son los siguientes:

Inserte la descripción de la imagen aquí

Aunque es poco probable que visite los enlaces implícitos que encuentre, antes de enviar, recuerde confirmar los valores de los campos ocultos que ya están en el formulario y listos para ser enviados (o deje que Selenium los envíe automáticamente por usted).

 

Supongo que te gusta

Origin blog.csdn.net/zhangge3663/article/details/108400489
Recomendado
Clasificación