ti-enxame.com

Impedir que os robôs obtenham conteúdo do site / artigo

Esta não é uma pergunta sobre indexadores, a maioria deles obedece arquivo robots.txt .

Mas talvez você tenha notado casos divulgados em que Facebook ou Skype seguiam URLs postadas por usuários ou que foram enviados via mensagem instantânea privada usando essas plataformas. Eu acredito que esses dois não estão (ou logo não estarão) sozinhos fazendo isso.

O problema é que a visita a um URL específico não precisa necessariamente obedecer robots.txt e eles podem executar 'backup' de texto do que vêem. Embora eu gerencie sites bastante padrão (organizações sem fins lucrativos, hobby, blog), não gosto dessa 'ferramenta de marketing final' (essa foi a melhor suposição). Por isso, estou pensando em uma maneira elegante de evitar tais sniffing/crawling provenientes desses sites depois que eles obtiverem o link. Algo como

  • a página inteira não é exibida até que um teste em humanos seja aprovado (um cookie é definido para que isso não seja mais necessário) - OR -

  • o site está acessível (página com todos os módulos presente, etc., não há problema com os títulos dos artigos publicados neles), mas o conteúdo do artigo principal (com_content) é inicialmente vazio e substituído automaticamente usando Ajax em breve

Você tem alguma idéia de como implementar a prevenção contra esses rastreadores para que eles não obtenham algum/algum conteúdo do URL do seu site que eles visitaram?

5
miroxlav

Não existe uma solução fácil, porque os bots têm um comportamento diferente. Eu os dividiria em 4 categorias e soluções para cada um:

  1. Rastreadores legítimos (ou seja, Google) - geralmente respeitam o robots.txt e, como você disse, não está interessado nisso.

  2. Raspadores legítimos (ou seja, Facebook) - geralmente possuem o agente do usuário adequado, para que você possa bloqueá-los com base nisso (o agente do usuário).

  3. Rastreadores que não respeitam o robots.txt - a maneira mais fácil é criar um link invisível (para humanos) em sua página, coloque rel = nofollow (para não ter problemas com rastreadores legítimos) nesse link. O link deve ir para uma página onde você registrará IP, UA e outras coisas semelhantes do rastreador. Em seguida, você pode implementar uma verificação nesse log e, se houver correspondência, você simplesmente não fará o conteúdo.

  4. Um dos raspadores - semelhante ao Facebook, mas com agente de usuário falso. A única solução viável é verificar o suporte a cookies, mas não há 100% de garantia de que funcionará. Ele também bloqueará os usuários que desativaram os cookies.

3
Ivo

Um método seria bloquear acessos de rastreadores, embora isso dependa de poder identificá-los.

O artigo a seguir tem alguns bons exemplos de como aprimorar a segurança do Joomla.

http://docs.joomla.org/Htaccess_examples_%28security%29

Um método é usar o atributo HTTP_REFERER para bloquear o acesso, por exemplo, às imagens, a menos que elas sejam carregadas de uma página no seu site.

Outra é usar o atributo HTTP_USER_AGENT para bloquear o acesso a mecanismos específicos.

Para determinar as seqüências HTTP_USER_AGENT adicionais, você precisará inspecionar seus logs de acesso ou, o que eu fiz em uma ocasião é modificar a extensão Redirect para adicionar HTTP_USER_AGENT no comentário.

3
Peter Wiseman

Se você não deseja que o conteúdo seja acessível ao público, use a ACL do Joomla para restringir o acesso, removendo o acesso ao grupo de usuários padrão (público). Se você não fizer isso, ou algo semelhante, seu conteúdo será public, as pessoas podem vê-lo, os bots podem vê-lo.

Se você não deseja que seu conteúdo seja visualizado por ninguém, não o publique no mundo. Se você o publica no mundo, não tem muito a dizer sobre quem o vê.

3
Seth Warburton