Como ocultar um site dos robôs e visualizadores do Search Engine desativando o VirtualHost padrão

1

Ao preparar um site em um VPS remoto, gostaríamos que ele fosse acessível apenas aos membros da equipe e também gostaríamos de manter os robôs do mecanismo de pesquisa desligados até que o site fosse finalizado.

O controle de acesso por host, seja em Iptables ou Apache, não é desejável, já que acessar hosts pode variar.

Após algumas leituras na configuração do Apache e outras postagens do SF, decidi sobre o seguinte design que depende da restrição de acesso somente através de nomes de domínio específicos:

O host virtual padrão seria desabilitado na configuração do Apache da seguinte maneira - contando com o comportamento do Apache para usar o primeiro host virtual para o padrão do site:

<VirtualHost *:80>
# Anything matching this should be silently ignored.
</VirtualHost>

<VirtualHost *:80>
    ServerName secretsiteone.com
    DocumentRoot /var/www/secretsiteone.com
</VirtualHost>

<VirtualHost *:80>
    ServerName secretsitetwo.com
    ...
</VirtualHost>

Em seguida, cada membro da equipe pode adicionar os nomes de domínio em seu local /etc/hosts :

xx.xx.xx.xx   secrethostone.com      

A minha pergunta é: a técnica acima é boa o suficiente para atingir os objetivos acima mencionados esp restringindo bots SE, ou é possível que bots trabalhem em torno disso.

Nota : Eu entendo que as regras do mod_rewrite podem ser usadas para obter um efeito similar como discutido aqui: Como desativar o VirtualHost padrão no apache2? , então a mesma pergunta seria aplica-se a essa técnica também.

Por favor note : o conteúdo não é altamente secreto - a idéia não é inventar algo que seja prova de hack, então não estamos preocupados com interceptação de tráfego ou algo parecido. A idéia é impedir que os concorrentes e surfistas casuais visualizem o conteúdo antes de lançá-lo, e evitar que os robôs de SE o indexem.

    
por Basel Shishani 06.04.2012 / 05:48

1 resposta

3

Claro, se você escolher um nome de domínio muito aleatório, ele deve estar bem oculto. No entanto, provavelmente seria tão fácil (e não exigiria que todos modificassem seu arquivo de hosts) para simplesmente jogá-lo por trás de um link prompt de autenticação. Em seguida, basta distribuir as credenciais para os membros de sua equipe e eles poderão acessá-las.

No seu VirtualHost, basta especificar um local para proteger. Este provavelmente será o mesmo caminho do seu VirtualHost DocumentRoot:

<Location /var/www/secretsiteone.com>
    AuthName 'Nothing to see here'

    AuthType Digest
    AuthDigestProvider file
    AuthDigestDomain /
    AuthUserFile /path/to/.htdigest

    Require valid-user
</Location>

Em seguida, gere esse arquivo .htdigest :

htdigest -c /path/to/.htdigest 'Nothing to see here' 'username'
    
por 06.04.2012 / 06:01