Existe uma maneira de negar acesso com base no nome do host ou agente?

1

Estou usando o owncloud e às vezes compartilho links com pessoas pelo Facebook.

Estou preocupado com o rastreamento automático, por isso gostaria de negar o acesso do facebook ao meu servidor owncloud.thomas-steinbrenner.net (ele visita todos os links para obter imagens de visualização, textos de visualização, etc.)

Existe uma maneira de fazer isso no nginx? Como via hostname ou agente? (Eu sinto que usar IPs é um jogo que não se pode ganhar).

Se não: Existe alguma outra maneira, como um projeto de lista negra com uma lista de gov-, FB-, etc. -IPs para iptables?

    
por Tie-fighter 05.07.2013 / 13:10

2 respostas

1

wrappers tcp? Eu acredito que pode fazer negações baseadas em host / domínio. Você também tentou um robots.txt simples seria surpreendido se facebook não respeitá-los. Eu acho que eles não poderiam arcar com a controvérsia de ignorá-los.

    
por 05.07.2013 / 17:02
1

O nginx suporta o valor $ http_user_agent da caixa:

if ($http_user_agent ~* (facebook|google)) {
   ...
}

A verificação do nome do host pode ser feita por meio do módulo de terceiros - ngx_http_rdns_module: link ( link )

Assim:

location / {
    rdns double;
    rdns_deny ^.*\.(facebook|google)\.com$;
}
    
por 30.09.2013 / 09:00

Tags