Proibir definitivamente um usuário de um site? [fechadas]

6

Eu tenho um site de rede social e quero proibir um usuário do site. Eu adicionei seu endereço IP à lista de banimento no arquivo .htacess e ao nível do php para banir esse usuário, mas ele continua voltando com IPs diferentes.

Como posso banir permanentemente um usuário, não importa o quanto ele tente entrar novamente no site?

    
por user1179459 22.08.2012 / 03:49

9 respostas

15

Eu acho que você está vindo do ângulo errado. Muitos sites (incluindo este) lentamente permitem que você veja mais das habilidades, como você prova que pode ser confiável.

Eu sugeriria que os primeiros posts tivessem que ser moderados, ou alguma forma de sistema de votação e, então, nenhuma de suas postagens permaneceria visível por muito tempo.

Este é realmente um problema humano, não tanto técnico.

    
por 22.08.2012 / 09:28
10

Graças a Tor e a inúmeros outros serviços de proxy, você não pode depender de uma proibição de IP para bloquear um usuário.

Você precisaria implementar algum tipo de outra barreira - requisitos de validação de e-mail na inscrição, talvez, ou exigir aprovação de moderação para novas criações de conta? A menos que o seu processo de inscrição de usuário exija amostras de sangue, números de seguridade social e nomes de solteiras das mães, você terá rachaduras abertas para contas ilegítimas.

A escolha de que barreiras você coloca na escala de usabilidade versus segurança é uma decisão importante - tenha em mente que, para tudo que você coloca em prática para impedir um pequeno segmento de trolls, usuários mal-intencionados ou bots, você estará incomodando um conjunto muito maior de usuários legítimos.

    
por 22.08.2012 / 04:01
8

Quando um novo usuário se inscrever, use um serviço como o Twilio para enviar uma mensagem de texto ao telefone que contenha uma senha curta. Eles precisam inserir corretamente esse código para confirmar sua conta. Isso é semelhante a como Craigslist (tentativas) para manter os spammers fora e também é freqüentemente usado por serviços bancários on-line como uma espécie de sistema de autenticação de dois fatores de um homem pobre.

    
por 22.08.2012 / 04:58
4

Eu não posso prometer a você "com sucesso, permanentemente", mas certamente há muitas coisas que você pode fazer para tornar sua vida mais difícil. Chega disso e ele desistirá.

Você já tentou usar o endereço IP dele para identificação, mas é fácil encontrar servidores proxy gratuitos. É um pouco mais difícil encontrar servidores proxy e anônimos gratuitos. A maioria dos servidores proxy envia o endereço IP do usuário ao longo de um cabeçalho X-Forwarded-For: . Você pode usar mod_security para bloqueá-los.

SecRule REQUEST_HEADERS:X-Forwarded-For "@Contains 192.168.0.1"

Obviamente, você deve substituir 192.168.0.1 pelo seu endereço IP real. Você pode bloquear um conjunto maior de IPs com proxy removendo o último octeto.

Isso o limitará a usar proxies anônimos e o Tor. Você pode identificar quando ele está usando o Tor, porque todas as solicitações virão de um endereço IP diferente e provavelmente estarão todas em uma lista de nós de saída do Tor. Aqui estão dois exemplos de listas. Também há listas de proxy disponíveis.

Você pode forçá-lo a ignorar o proxy para apenas uma subsequest usando Flash ou Javascript ou até mesmo apenas um link de imagem. Isso depende de como o proxy é configurado em seu computador (você pode colocá-lo no navegador ou no SO ou tê-lo como um proxy transparente na rede), mas, seja qual for o tipo, ele provavelmente é apenas um proxy para as portas 80 e 443. Faça com que seu site faça com que ele se conecte à porta 8080 ou à porta 25 ou a outra coisa e codifique um identificador exclusivo na solicitação. Isso faria o truque no PHP:

echo("<img src=\"http://example.com:25/".session_id().".jpg\" />");

O próximo passo que vou dar é usar o EverCookies . Dependendo de quão bom ele é em remover todos os vários métodos de armazenamento, isso por si só pode ser suficiente para identificá-lo de maneira confiável. Ele pode evitar isso executando um navegador em uma VM e revertendo-o para um estado conhecido toda vez que ele for banido novamente ou não executando javascript, mas você terá conseguido tornar sua vida um pouco mais difícil. Você poderia usar o fato de que ele não está executando o javascript para identificá-lo.

É importante notar também que o Google Analytics atribui um identificador único no segundo "campo" (separado por pontos) do seu __utma cookie. Se você tiver o Google Analytics e ele não excluir esse cookie, talvez você já tenha o suficiente para rastreá-lo.

Para registrar cookies (e todos os cabeçalhos HTTP), você pode usar um log forense .

Depois disso, a impressão digital do navegador é um pouco mais difícil e propensa a ambos os falsos positivos (se você ficar um pouco confuso) e falsos negativos (se você escolher apenas correspondências exatas), mas isso pode ser feito. Na verdade, seria mais eficaz se ele continuar revertendo sua VM para um estado conhecido, porque isso significará que sua impressão digital nunca muda. Ele teria que alterar a resolução de tela e o fuso horário de sua VM e os plugins instalados toda vez que fosse banido.

Mais um método: identifique o conteúdo que ele publica. Apenas o trate como um spammer normal. Alimente seus dados através de um mecanismo de aprendizado bayesiano e ensine-o a reconhecê-lo ... e, uma vez que seja bom o suficiente para reconhecer o que ele posta, proíba qualquer pessoa que posta esse tipo de conteúdo. Este tem a boa vantagem de que os falsos positivos são provavelmente pessoas que você gostaria de banir de qualquer maneira, mesmo que não sejam o mesmo cara.

    
por 22.08.2012 / 08:42
4

Nós lidamos com isso de forma diferente. Juntamente com as proibições temporárias de IP (que são facilmente contornadas), temos um cookie que o identifica como banido. E se ele voltar, no entanto, temos um grupo de usuários especial que vamos atribuir a ele. Ele não consegue perceber nada incomum e tudo parece funcionar do seu lado. Mas todas as suas ações, posts, PMs e assim por diante são invisíveis para os outros.

Eventualmente, ele vai ficar entediado, já que ninguém está reagindo a ele (como eles devem saber se nenhum dos posts é visível, exceto para ele)

    
por 22.08.2012 / 14:20
2

Dependendo de quão pouco ele sabe, você pode tentar salvar um "Token of Death" como um cookie. Se esse cookie for encontrado, atenda a página banida. Ele pode não pensar em verificar algo assim, particularmente se você escolher algum tipo de nome sorrateiro (talvez algo relacionado à sessão?)

    
por 22.08.2012 / 04:52
2

Denuncie ao seu provedor. Inclua logs detalhados (IPs, ações, timestamps com fusos horários), cópias da política administrativa do seu site e assim por diante. Se o seu ISP não for cooperativo, proíba todo o seu ISP. Se os usuários reclamarem, diga que você sente muito, mas eles têm um ISP que se recusa a lidar com o abuso.

Surpreendentemente, se você fizer isso de maneira correta e responsável, a maioria dos ISPs cooperará com você. Eles não identificarão o usuário para você, mas lidarão com o usuário.

Se ele se conectar através de proxies, banir os proxies.

Isso pode ou não funcionar, mas é tudo o que você tem.

    
por 22.08.2012 / 13:20
1

Você não pode, na verdade.

Minha primeira sugestão é se você tiver seu IP original logado, denunciá-lo ao seu ISP por abuso, e tentar obter o seu serviço arrancado ou suspenso. Isso irá variar de acordo com o ISP, mas eles podem ser muito úteis. Na falta disso ...

Você pode usar cookies, cookies em Flash ou impressão digital do navegador para tentar lembrá-lo, independentemente do seu IP, mas é bastante fácil ignorar. Uma proibição mais avançada, mas igualmente fácil de contornar (desde que ele saiba o que procurar) é capturar seu endereço MAC e banir isso.

Você também pode querer proibir os IPs de servidores proxy gratuitos disponíveis publicamente e proibir a inscrição com uma lista de provedores de webmail gratuitos conhecidos para reduzir suas opções, mas, mesmo assim, uma conta barata com um provedor de VPN e / ou um provedor de webmail obscuro pode ignorar esses.

Fazer tudo isso é um pouco eficaz, mas um troll determinado passará por esses bloqueios e, na minha experiência, a única coisa que realmente funciona é moderar as novas inscrições de usuários, e isso causa problemas para expulsar novos usuários legítimos . Você pode continuar banindo-o até que ele se canse e encontre outra coisa para capturar seu interesse (como um objeto brilhante).

Se ele realmente é um grande problema, você pode usar cookies e / ou impressão digital do navegador para identificá-lo e redirecioná-lo para uma cópia do site que só ele pode ver ou tornar suas postagens e atividades apenas legíveis ele - para que ele possa vasculhar até ficar entediado, pensando que está contornando a proibição, mas na verdade, você criou uma pequena sandbox privada só para ele, e ninguém mais é impactado por sua porcaria. Eu fiz isso no passado com alguns trolls de fórum mais problemáticos, mas a menos que eles sejam realmente, realmente persistentes e muito, muito vil, é mais esforço do que vale a pena, IMHO.

    
por 22.08.2012 / 04:02
1

Leia o link .

Você poderia tentar infernizar o usuário por IP.

A hellbanned user is invisible to all other users, but crucially, not himself. From their perspective, they are participating normally in the community but nobody ever responds to them. They can no longer disrupt the community because they are effectively a ghost. It's a clever way of enforcing the "don't feed the troll" rule in the community. When nothing they post ever gets a response, a hellbanned user is likely to get bored or frustrated and leave. I believe it, too; if I learned anything from reading The Great Brain as a child, it's that the silent treatment is the cruelest punishment of them all.

A ideia é que ele não saiba que ele é banido e não se importará em mudar seu IP novamente.

Você também pode tentar implementar um "cookie" baseado em flash. Eles são diferentes dos cookies HTTP comuns, pois alguns navegadores não os excluem quando os cookies do navegador são excluídos. (mais informações: link )

    
por 22.08.2012 / 17:28