Eu tenho um site gratuito com registro aberto; qualquer um pode se registrar e não consigo mudar isso. No entanto, as contas devem ser aprovadas por um administrador após a conclusão de um perfil, para que eu tenha acesso a uma variedade de informações para identificar usuários duplicados (data de nascimento, comentário de "auto-introdução", endereço de email, fotos, localização relatada no perfil, IP geolocalizado). , Endereço IP etc.)
Recentemente, o site ficou sujeito aos ataques de um único usuário que é extremamente abusivo e parece ter tempo ilimitado para registrar várias contas. Essas contas podem ser bloqueadas com relativa facilidade, mas é muito trabalhoso para o administrador (eu) e tenho medo de perder uma dentre as contas legítimas (esse usuário registra cerca de 6 contas por dia).
Eu já:
- baniu os endereços IP conhecidos do usuário
- registro bloqueado de domínios conhecidos usados para endereços de email "descartáveis"
- adicionou uma visão especial para me ajudar a identificar contas com base em padrões conhecidos de acesso do usuário
Existe algo que eu possa fazer com cookies etc. para tornar ainda mais difícil para esse usuário se registrar?
Este é um site Drupal 7.
EDIT: No meu caso, este é um usuário humano, não um bot. Mas as respostas dos bot são úteis para aqueles que são direcionados especificamente por spammers.
Respostas:
Em vez de tentar impedir que o usuário se registre, que é um jogo para trolls e hackers, torne o site irritante. Faça com que ele queira ir embora , em vez de fazê-lo querer vencer o jogo de trollagem .
O que eu fiz no passado, não específico do Drupal, é deixar o usuário se registrar. Saboreei sua conta específica:
if ($someuser) { sleep(rand($base, $base*2)) }
o código, onde$base
aumentava diariamente. Eu me certifiquei de que ele tivesse muitos tempos limite.Isso exigiu mais esforço de minha parte, mas, de acordo com os conselhos de Sun Tzu, eu estava condicionando o usuário a odiar meu site . Queria que ele não sentisse que estava nos incomodando, mas que deveria se incomodar com os atrasos e os erros aparentes. Demorou menos de uma semana para ele desistir de nós.
EDIT : Nos comentários, o usuário rooby menciona o módulo Misery, que é baseado no mesmo conceito:
fonte
$someuser
sempre que eles criam uma nova conta me faz estremecer. Ainda assim, ótima ideia. Talvez apenas adicione um campo na tabela de contas, como umatroll
coluna. Se for 1, as alterações serão afetadas. Em seguida, adicione uma interface simples para marcar alguém como um troll. Pelo menos dessa maneira, é um pouco mais fácil do que codificar um nome de usuário / ID de usuário / email / etc. toda vez que eles se registram em uma nova conta. Voto positivo, com certeza.if (hellbannedUsers.contains($someuser))
é um passo melhor. Eu simplesmente não gosto de quanta lógica caseira é essa, em primeiro lugar, mas ela pode pelo menos ser reutilizada.Envie um email para o ISP do agressor - eles vão acabar com isso!
Você tem um registro dos horários de criação da conta e os endereços IP usados para se registrar, certo? Você também tem um registro de todos os comentários de assédio dele também? Envie esses logs para o provedor de serviços de Internet .
Você pode encontrar o ISP fazendo uma pesquisa de IP diretamente com o ARIN em https://whois.arin.net/ui ou outro serviço que simplesmente os use para um whois. A maioria dos usuários terá um ISP real disponível para o proprietário do IP, mas algumas (grandes empresas geralmente) serão donas do IP. De qualquer maneira, você descobrirá quem é o proprietário do IP e, a partir daí, poderá consultá-los e obter um endereço de email de abuso (às vezes eles colocam um endereço de email de abuso real nas informações do WHOIS, o que é ótimo) para enviar seu email para. Seja gentil e cortês com o ISP. Não escreva um romance épico - mantenha-o simples. Algo como "Este ip está me assediando e usuários do meu site, por favor, veja os logs" serão suficientes. Eles vêem milhares deles por dia, não querem ler uma história triste.
Eu costumava ser um engenheiro de rede em um ISP. Recebemos inúmeros relatórios de assédio por esse tipo de comportamento. No momento em que um assinante recebe a ligação, ele pára cerca de 90% do tempo. Se continuar, poderá ocorrer uma ação legal, o que significa que a maioria dos ISPs toma medidas muito sérias.
Seu agressor provavelmente é um garoto que mora em casa com seus pais , o que significa que quando a conta de internet de seus pais ameaçar ser encerrada, eles ficarão incrivelmente chateados com ele por seu comportamento.
Eu, pessoalmente, segui esse caminho e funciona, mesmo que o agressor não esteja no seu país. Os ISPs NÃO agradam os usuários de serem abusivos em sua rede.
Nota
Existe a possibilidade de ele estar usando um proxy. No entanto, é muito improvável que ele tenha usado um proxy no registro inicial, a menos que pretenda (a partir do momento em que se registrou) trollar no seu site. Se nenhum dos IPs realmente apontar para um ISP legítimo para o qual você pode realmente enviar um email de abuso, tente enviá-lo para qualquer serviço Proxy que ele esteja usando.
As pessoas têm essa ideia maluca de que, simplesmente porque alguém está usando um proxy, elas são indetectáveis. Isso é falso. Os serviços de proxy geralmente seguem as mesmas regras que todo mundo segue (é claro que há exceções). Quando recebem uma denúncia de abuso, cuidam da mesma forma que um ISP.
Na chance incrivelmente pequena de que esse usuário esteja atrás de um Proxy que não seja agradável, eu seguiria o conselho dos outros respondentes. Sério, isso é tão raro que a maioria dos proprietários de sites nunca vê um ataque de alguém aparentemente "indetectável".
fonte
Na sua pergunta, você não menciona ter um Captcha. Talvez, esse usuário irritante seja um bot? Meu palpite é que você já tem um captcha e esse usuário é realmente humano.
Mas ... se não for esse o caso, eu recomendaria:
reCAPTCHA
fonte
Hellban / shadowban
Como impedir uma pessoa de criar novas contas para substituir contas bloqueadas é quase impossível, uma solução um tanto popular para esse problema é o chamado hellban ( http://www.urbandictionary.com/define.php?term=hellban ) ou shadowban , em que você implementa um recurso que isola determinadas contas de todos os outros, sem deixar óbvio que elas foram banidas.
Por exemplo, você deve garantir que eles sintam que a experiência deles é genuína e continuar usando as mesmas contas, mas condicionar que qualquer uma de suas postagens ou atividades seja visível apenas para contas banidas pelo inferno e quaisquer contas (ou não registradas) em situações) que compartilham IP e / ou cookies com a conta do hellbanban. Se o usuário continuar a trollar, mas não obtiver resposta, ele sairá eventualmente.
fonte
Por sugestão de No Sssweat, estou colocando isso como uma resposta em vez de um comentário para que mais pessoas o vejam.
Drupal.org/project/misery faz um bom trabalho em irritar um usuário com cerca de oito métodos diferentes. Tempos aleatórios, logout, redirecionamentos aleatórios etc. e a frequência é variável.
Uma versão fácil da boa redação do dotancohen para o problema.
fonte
Que tal usar um segundo fator? No seu registro, diga que você enviará um SMS para o telefone ou e-mail e peça para que eles confirmem o registro clicando em um link e enviando as informações de volta. Você adquirirá um identificador mais difícil de falsificar do que o endereço IP e pode ser mais fácil filtrá-lo dessa maneira. Obviamente exigirá uma pequena quantidade de scripts ...
fonte
Na verdade é impossível.
Você não pode impedir uma pessoa de se registrar repetidamente. A única coisa que você pode fazer é endurecer o processo de registro e verificar dupla / triplamente seu ID (por meio de endereço de e -mail e conta do Google e conta do Facebook e conta e número de telefone do LinkedIn etc.) e correlacionar cada pessoa com um ID específico que agrega todos esses detalhes.
A pessoa específica pode escolher outra rede por meio de proxy da web, criar muitos @email, abrir várias contas do facebook / google / LinkedIn e assim por diante, mas você nunca poderá impedir que essa pessoa se registre novamente (a menos que verifique seu DNA).
Sua única opção é fortalecer o processo de registro.
fonte
Conforme sugerido por No Sssweat, você pode usar o reCAPTCHA. Mas se você não quiser incomodar usuários legítimos, tente o módulo Honeypot . Ele oferece a opção de ter um campo extra que não deve ser preenchido (os robôs AFAIK podem preencher todos os campos) ou ter restrição de tempo.
Outra opção é o módulo Spambot , que evita spam ao verificar as tentativas de registro contra o Stop Forum Spam.
fonte
Há uma resposta para a pergunta - embora a comunidade possa achar isso ofensivo. Não sei por que, exceto os custos, que o caminho não foi seguido com mais frequência.
Envie uma carta de cessação e desistência ao indivíduo que está invadindo seu site e que viola o Título XVIII do Código dos EUA, adulterando computadores, fraude e abuso.
Se eles não cessarem, pague o dinheiro e processe. Em meados dos anos 90, tive o primeiro caso na WDMO, onde o único provedor de Internet da área de Kansas City foi invadido por três adolescentes. Entrei em contato com as famílias (eles haviam enraizado um dos servidores e eram estúpidos o suficiente para armazenar seu aplicativo para ingressar nos grupos "Warez" com seus nomes e endereços reais em um subdiretório oculto) e pedi que parassem os adolescentes de fazer isso. Eles recusaram.
Em uma reclamação de 54 páginas, tive que explicar: ISPs, Internet, acesso excessivo etc. a um juiz recém-nomeado.
Eu era mais do que um defensor, uma conta minha havia sido acessada (graças a Deus, não uma conta de cliente - The Rust List) e fui marcado. Encarreguei os pais (único caminho a percorrer onde os acusados eram menores em uma ação civil) e afirmei que os pais haviam colocado uma instrumentalidade perigosa nas mãos de menores sem supervisão adequada e que os menores haviam se envolvido na transferência de software roubado, e pornografia infantil (Sim, meninos de 16 anos tirando fotos dos seus GFs de 16 anos é "pornografia infantil"). Eu cumpri as políticas do proprietário e tinha um remédio que os tribunais da época nem considerariam: uma proibição vitalícia do uso de computadores para os adolescentes.
Foi resolvido dentro de uma semana após a transferência da descoberta.
Você já tentou de tudo: martele essa merda com uma carteira. Cuidado para escolher um advogado que saiba o que é isso e não um associado a uma "grande empresa" onde você será cobrado até a morte.
Considere como uma ordem judicial que impede o idiota de acessar seu site pode funcionar: Ele foi banido - você encontra um endereço IP que viola a ordem do tribunal - envie-o ao seu advogado e apresenta uma moção junto ao Tribunal mostrando violação da Ordem e o Tribunal responderá com uma Ordem de Causa por que o réu não deve ser mantido em desacordo com o tribunal.
Um ataque de outros sites / endereços IP começa a aparecer - informe seu advogado - e a resposta pode incluir o espelhamento dos computadores dos acusados, uma liminar impedindo o acusado de todo o acesso à Internet e, ao descobrir que o acusado violou a ordem por procuração , o Tribunal irá impor sanções.
Por fim, o idiota pode ter se limitado a ficar para sempre bloqueado da Internet. Se você está realmente chateado depois de tudo isso e deseja ter certeza de que o réu está fora da Internet, contrate um PI para segui-lo por uma semana ou dez dias (não é barato) e se ele está acessando a Internet de um Starbucks - ou McD's você os tem: de volta ao juiz.
A Ordem final está além da crença e só acontecerá com evidências esmagadoras de que o réu violou rotineiramente as ordens do tribunal: sem telefones inteligentes, sem VOIP, sem TV a cabo ou via satélite (a Internet está disponível e ele demonstrou total desrespeito à lei). lei, então nada que eles possam invadir para obter acesso é permitido), sem Internet (seria bom se fosse uma proibição vitalícia - provavelmente não), sem Internet das coisas e, por fim, sem dispositivos de computação.
Se o réu estava ganhando a vida no setor de tecnologia - eles têm valas para cavar e hambúrgueres para virar.
É assim que se acaba com a opção nuclear.
fonte
Eu gosto do modelo de miséria, mas eu acrescentaria para enviá-lo aleatoriamente para uma página com mensagens irritantes muito altas e outras vezes para sites pornográficos realmente ruins. Qualquer coisa que possa colocá-lo em problemas ou envergonhado se ele estiver em público.
fonte
Eu escrevi um módulo especificamente para esse tipo de situação. Chama-se Spaces Enforced e pode ser encontrado aqui , e funciona bloqueando qualquer pessoa registradora cujo nome não contenha pelo menos 1 espaço. Ele pode ser configurado ainda mais e você pode selecionar qual caractere precisa aparecer quantas vezes. Também possui uma taxa de sucessão próxima de 100%
fonte