Question

Mon site web a une base de données recherche; remplir un CAPTCHA vous donne 5 minutes de recherche. Il y a aussi un code personnalisé pour détecter les scripts automatisés. Je le fais comme je ne veux pas de données quelqu'un exploitation minière mon site.

Le problème est que Google ne voit pas les résultats de consultation lors de l'exploration de mon site. Si quelqu'un est à la recherche d'une chaîne qui est présente dans le résultat d'une recherche, je les aime trouver cette page par googler.

La solution évidente pour moi est d'utiliser la variable PHP $_SERVER['HTTP_USER_AGENT'] pour contourner le CAPTCHA et le code de sécurité personnalisé pour les robots de Google. Ma question est de savoir si cela est raisonnable ou non.

Les gens pourraient alors utiliser le cache de Google pour afficher les résultats de consultation sans avoir à remplir le CAPTCHA, mais seraient propres méthodes de détection de script de Google les empêcher de data mining ces pages?

Ou y aurait-il un moyen pour les gens à faire $_SERVER['HTTP_USER_AGENT'] apparaissent comme Google pour contourner les mesures de sécurité?

Merci à l'avance.

Était-ce utile?

La solution

  

Ou y aurait-il un moyen pour les gens à faire $ _SERVER [ « HTTP_USER_AGENT »] apparaissent comme Google à contourner les mesures de sécurité?

Certainement. L'agent utilisateur est risible facile à contrefaire. Voir par exemple User Agent Switcher pour Firefox . Il est aussi facile pour un spam bot pour définir son en-tête de l'agent utilisateur au bot Google.

Il pourrait encore être vaut le coup, cependant. Je dirais juste essayer et voir quels sont les résultats. Si vous avez des problèmes, vous pourriez avoir à penser à une autre façon.

Une autre façon de reconnaître le bot Google peut être la plage IP (s) qu'il utilise. Je ne sais pas si les utilisations définies bot plages d'adresses IP -. Il se pourrait que ce n'est pas le cas, vous devez savoir

Mise à jour: il semble possible de vérifier le Google Bot en analysant son adresse IP. De Google Webmaster Central: Comment vérifier Googlebot

  

Dire aux webmasters d'utiliser le DNS pour vérifier au cas par cas semble être la meilleure façon d'aller. Je pense que la technique recommandée serait de faire une recherche inversée DNS, vérifiez que le nom est dans le domaine googlebot.com, puis effectuez une recherche correspondant avant DNS-> IP en utilisant ce nom googlebot.com; par exemple:

     

host 66.249.66.1   1.66.249.66.in-addr.arpa pointeur de nom de domaine crawl-66-249-66-1.googlebot.com.

     hôte

crawl-66-249-66-1.googlebot.com   crawl-66-249-66-1.googlebot.com a l'adresse 66.249.66.1

     

Je ne pense pas faire juste une recherche DNS inversée est suffisante, parce qu'un usurpateur pourrait mettre en place DNS inverse pour pointer vers crawl-a-b-c-d.googlebot.com.

Autres conseils

le paramètre $_SERVER['HTTP_USER_AGENT'] est pas sûr, les gens peuvent faux s'ils veulent vraiment obtenir vos résultats. votre décision est une des affaires, faites essentiellement que vous souhaitez réduire la sécurité et permettre à des personnes potentiellement / bots Gratter votre site, ou voulez-vous vos résultats cachés de google.

Une solution est sûre, ont une petite base de données Geo triée par l'ASN, bloquer la mauvaise ASN Bot (Proxy, serveur, fournisseur d'hébergement comme OVH) et laisser un peu Bot (Google, Bing, Yahoo), GSM mobile ASN comme orange , SFR Vodafone ... Juste une idée:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top