Pergunta

Meu site tem uma pesquisa de banco de dados; O preenchimento de um captcha oferece 5 minutos de tempo de pesquisa. Há também algum código personalizado para detectar scripts automatizados. Faço isso, pois não quero que alguém minere meu site.

O problema é que o Google não vê os resultados da pesquisa quando rasteja meu site. Se alguém estiver procurando por uma string que esteja presente no resultado de uma pesquisa, gostaria que eles encontrassem esta página pesquisando no Google.

A solução óbvia para mim é usar a variável php $_SERVER['HTTP_USER_AGENT'] Para ignorar o CAPTCHA e o código de segurança personalizado para o Google Bots. Minha pergunta é se isso é sensato ou não.

As pessoas poderiam então usar o cache do Google para visualizar os resultados da pesquisa sem precisar preencher o Captcha, mas os métodos de detecção de scripts do Google impediriam que eles minere essas páginas?

Ou haveria alguma maneira de as pessoas fazerem $_SERVER['HTTP_USER_AGENT'] aparecer como Google para ignorar as medidas de segurança?

Desde já, obrigado.

Foi útil?

Solução

Ou haveria alguma maneira de as pessoas fazer com que $ _SERVER ['http_user_agent'] apareçam como Google para ignorar as medidas de segurança?

Definitivamente. O agente do usuário é ridiculamente fácil de forjar. Veja por exemplo Switcher de agente do usuário para firefox. Também é fácil para um bot spam definir o cabeçalho do agente do usuário para o Google Bot.

Ainda pode valer a pena tentar, no entanto. Eu diria apenas experimentar e ver quais são os resultados. Se você tiver problemas, pode ter que pensar em outra maneira.

Uma maneira adicional de reconhecer o botão do Google poderia Seja o (s) alcance (s) IP (s) que ele usa. Não sei se o bot usa intervalos de IP definidos - pode ser que não seja esse o caso, você precisaria descobrir.

Atualizar: Parece ser possível verificar o botão do Google analisando seu IP. A partir de Google Webmaster Central: Como verificar o Googlebot

Dizer aos webmasters para usar o DNS para verificar caso a caso parece o melhor caminho a percorrer. Eu acho que a técnica recomendada seria fazer uma pesquisa de DNS reversa, verificar se o nome está no domínio do GoogleBot.com e, em seguida, fazer um dns dNS avançado correspondente usando o nome do GoogleBot.com; por exemplo:

HOST 66.249.66.1 1.66.249.66.in-addr.arpa name de domínio ponteiro CRAWL-66-249-66-1.googlebot.com.

Host CRAWL-66-249-66-1.GOOGLEBOT.com CRAWL-66-249-66-1.GOOGLEBOT.com tem endereço 66.249.66.1

Eu não acho que apenas fazer uma pesquisa reversa do DNS seja suficiente, porque um speofer pode configurar o DNS reverso para apontar para rastejar-abcd.googlebot.com.

Outras dicas

a $_SERVER['HTTP_USER_AGENT'] O parâmetro não é seguro, as pessoas podem fingir se realmente querem obter seus resultados. Sua decisão é uma empresa, basicamente você deseja reduzir a segurança e potencialmente permitir que pessoas/bots rasparem seu site ou deseja que seus resultados ocultos do Google.

Uma solução é segura, tenha um pequeno banco de dados GEO classificado pelo ASN, bloqueie o Bad ASN Bot (proxy, servidor, provedor de hospedagem como OVH) e permita um pouco de bot (Google, Bing, Yahoo), GSM Mobile ASN como Orange, SFR vodafone ... Apenas uma ideia :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top