Pregunta

Mi sitio web tiene una búsqueda de base de datos; rellenar un CAPTCHA de le da 5 minutos de tiempo de búsqueda. También hay algo de código personalizado para detectar las secuencias de comandos automatizadas. Lo hago como que no quiero alguien minería de datos mi sitio.

El problema es que Google no ver los resultados 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 para encontrar esta página al buscar en Google a él.

La solución obvia para mí es utilizar la variable de PHP $_SERVER['HTTP_USER_AGENT'] de derivación el CAPTCHA y el código de seguridad personalizada para los robots de Google. Mi pregunta es si esto es razonable o no.

Las personas podrían entonces utilizar la caché de Google para ver los resultados de búsqueda sin tener que llenar el CAPTCHA, sino que los métodos de detección de secuencia de comandos propios de Google les impiden minería de datos estas páginas?

O podría haber alguna manera para que la gente haga $_SERVER['HTTP_USER_AGENT'] aparecen como Google a la derivación las medidas de seguridad?

Gracias de antemano.

¿Fue útil?

Solución

  

O podría haber alguna manera para que la gente haga $ _SERVER [ 'HTTP_USER_AGENT'] aparecen como Google a las medidas de seguridad de derivación?

Por supuesto. El agente de usuario es ridículamente fácil de falsificar. Véase, por ejemplo User Agent Switcher para Firefox . También es fácil para un robot de spam para establecer su cabecera agente de usuario al robot de Google.

Todavía podría ser digno de un tiro, sin embargo. Yo diría que hay que probarlo y ver cuáles son los resultados. Si se tienen problemas, es posible que tenga que pensar en otra forma.

Otra forma de reconocer el robot de Google podría será el rango de IP (s) que utiliza. No sé si los usos bot definen rangos de IP -. Podría ser que ese no es el caso, habría que averiguar

Actualización: que parece ser posible verificar la Google Bot analizando su IP. De Google Webmaster Central: Cómo comprobar el robot de Google

  

Contar webmasters para el uso de DNS para verificar sobre una base caso por caso, parece que 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 un avance correspondiente DNS-> IP de búsqueda usando ese nombre googlebot.com; por ejemplo:

     

anfitrión 66.249.66.1   1.66.249.66.in-addr.arpa nombre de dominio puntero crawl-66-249-66-1.googlebot.com.

     

anfitrión 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 simplemente haciendo una búsqueda DNS inversa es suficiente, porque un Spoofer podría configurar DNS inversa a punto de crawl-a-b-c-d.googlebot.com.

Otros consejos

$_SERVER['HTTP_USER_AGENT'] el parámetro no es segura, las personas pueden fingir si realmente quieren conseguir sus resultados. su decisión es un negocio, básicamente, ¿desea bajar de seguridad y, potencialmente, permitir que la gente / bots para raspar su sitio, o usted quiere que sus resultados ocultan de Google.

Una solución es segura, tiene una pequeña base de datos Geo ordenadas según la ASN, bloquear la mala Bot ASN (proxy, servidor, proveedor de alojamiento como OVH) y permitir un poco de Bot (Google, Bing, Yahoo), GSM móvil ASN como Orange , SFR Vodafone ... Sólo una idea:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top