Bloqueio de visitantes não britânicos ao meu site

1

Eu quero bloquear todos os visitantes que não sejam do Reino Unido para o meu site, alguém sabe como eu conseguiria isso?

Acho que preciso ter um arquivo .htaccess com todos os IPs listados ao lado de um comando deny, mas como posso encontrar uma lista atualizada de IPs do Reino Unido para permitir.

A razão para isso é tentar reduzir a quantidade de spam no meu site.

Obrigado pela sua ajuda

    
por Simon Foster 28.06.2011 / 12:41

4 respostas

9

Veja os bancos de dados GeoIP.

Mas eu acho que bloquear todos os visitantes não britânicos não é o melhor caminho. Imagine que um de seus usuários esteja em feriados no Reino Unido e queira acessar seu site.

Dê uma olhada na lista DROP da Spamhaus. Ele contém todas as redes de propriedade do Spammer. Eu uso a lista dentro das minhas regras de firewall e reduzi o SPAM em cerca de 98% nos blogs hospedados.

    
por 28.06.2011 / 12:46
2

Duas soluções vêm à minha mente.

Se o seu site for dinâmico, você pode verificar em cada solicitação o país associado ao visitante ip usando, por exemplo, o banco de dados Maxmind GeoIP ( link ) se o usuário não for do Reino Unido, apenas mostre um 404 ou o que você quiser.

A outra solução é apenas permitir que usuários dentro de uma determinada faixa de ip acessem o site. Você precisa obter os intervalos de ip para o Reino Unido e adicioná-los à diretiva allow no arquivo .htaccess. Os intervalos podem ser obtidos aqui ( link )

    
por 28.06.2011 / 12:50
1

O que você deseja fazer normalmente é chamado de geolocalização .

Esta questão no StackOverflow tem algumas respostas úteis.

    
por 28.06.2011 / 12:49
0

Não tenho certeza se a geolocalização é uma solução completa - nem que você deve bloquear o acesso usando o .htaccess

O fato de alguém estar publicando spam no seu sistema implica que você tem algum código personalizado em execução lá - e a AFAIK não há uma maneira fácil de fazer pesquisas eficientes diretamente do arquivo .htaccess.

Certamente, o uso da geolocalização pode ajudar, mas você só precisa controlar o acesso à funcionalidade que permite a publicação de conteúdo. Há um banco de dados gratuito que você pode executar uma cópia local de disponível aqui .

Se fosse eu, usaria isso como parte de um sistema de pontuação, incorporando também

1) postagens auto-moderadas - exigem que o usuário forneça um endereço de e-mail - quando postarem, não publiquem até clicarem em um link que você enviar para eles

2) moderação administrativa - talvez você não tenha tempo para moderar todas as postagens - mas e quanto a verificar as primeiras N postagens de um usuário em particular?

3) use o spamassassin para identificar spamming posts (Nota: quanto mais mensagens de spam você conseguir capturar (mas obviamente não publicar), melhor isso funcionará)

    
por 28.06.2011 / 14:28