/ / Permitir que Google omita la verificación CAPTCHA, ¿sensato o no? - php, captcha, robot

Permitir que Google omita la verificación de CAPTCHA, ¿es razonable o no? - php, captcha, robot

Mi sitio web tiene una búsqueda en la base de datos; rellenando unCAPTCHA te da 5 minutos de tiempo de búsqueda. También hay un código personalizado para detectar cualquier script automatizado. Hago esto ya que no quiero que alguien extraiga datos de mi sitio.

El problema es que Google no ve elresultados de búsqueda cuando rastrea mi sitio. Si alguien está buscando una cadena que está presente en el resultado de una búsqueda, me gustaría que encuentren esta página buscándola en Google.

La solución obvia para mí es usar la variable PHP $_SERVER["HTTP_USER_AGENT"] para evitar el CAPTCHA y el código de seguridad personalizado para los bots de Google. Mi pregunta es si esto es sensato o no.

La gente podría usar el caché de Google para ver los resultados de la búsqueda sin tener que completar el CAPTCHA, pero ¿los métodos de detección de scripts propios de Google les impedirían extraer datos de estas páginas?

¿O habría alguna forma de que la gente hiciera $_SERVER["HTTP_USER_AGENT"] aparecer como Google para evitar las medidas de seguridad?

Gracias por adelantado.

Respuestas

4 para la respuesta № 1

¿O habría alguna forma de que las personas hagan que $ _SERVER ["HTTP_USER_AGENT"] aparezca como Google para evitar las medidas de seguridad?

Seguro. El agente de usuario es ridículamente fácil de falsificar. Ver p. User Agent Switcher para Firefox. También es fácil para un bot de spam configurar su encabezado de agente de usuario para el bot de Google.

Sin embargo, podría valer la pena intentarlo. Yo diría que simplemente pruébelo y vea cuáles son los resultados. Si tiene problemas, es posible que tenga que pensar en otra forma.

Una forma adicional de reconocer el bot de Google podría ser el rango de IP que utiliza. No sé si el bot usa rangos de IP definidos, podría ser que ese no sea el caso, tendría que averiguarlo.

Actualizar: parece posible verificar el Google Bot analizando su IP. De Google Webmaster Central: Cómo verificar Googlebot

Indicar a los webmasters que usen DNS para verificar encaso por caso parece ser el mejor camino a seguir. Creo que la técnica recomendada sería hacer una búsqueda DNS inversa, verificar que el nombre esté en el dominio googlebot.com y luego hacer una búsqueda DNS-> IP correspondiente utilizando ese nombre googlebot.com; p.ej:

host 66.249.66.1 1.66.249.66.in-addr.arpa puntero de nombre de dominio rastreo-66-249-66-1.googlebot.com.

host crawl-66-249-66-1.googlebot.com crawl-66-249-66-1.googlebot.com tiene la dirección 66.249.66.1

No creo que hacer una búsqueda inversa de DNS sea suficiente, porque un spoofer podría configurar DNS inverso para apuntar a crawl-a-b-c-d.googlebot.com.


1 para la respuesta № 2

el $_SERVER["HTTP_USER_AGENT"] parámetro no es seguro, la gente puede fingirlo siRealmente quieren obtener sus resultados. su decisión es de negocios, básicamente desea reducir la seguridad y potencialmente permitir que las personas / bots raspen su sitio, o desea que sus resultados estén ocultos para Google.


0 para la respuesta № 3

Una solución es segura, tener una pequeña base de datos Geoordenado por ASN, bloquee el bot ASN defectuoso (Proxy, servidor, proveedor de alojamiento como OVH) y permita un pequeño bot (Google, Bing, Yahoo), ASN móvil GSM como Orange, SFR Vodafone ... Solo una idea :)