Pergunta

As maneiras pelas quais consigo pensar são:

  1. Medir o tempo entre as ações.
  2. Compare o conteúdo das postagens (se forem muito semelhantes um ao outro) ou, melhor ainda, apenas os links postados.
  3. Verificando a distribuição por um período de tempo, o usuário está ativo (se o usuário estiver ativo, digamos postar uma vez a cada hora, por uma semana, então temos um super -homem ou um bot aqui).
  4. Alguma atividade especial esperada: como no Stackoverflow, eu esperaria que os usuários pressionem seu link de nome de usuário (no meio) para ver suas novas respostas, comentários, perguntas etc.
  5. (Adicionado por Chakrit) Número de links em uma postagem.
  6. Não heurístico. Use alguns JS assíncronos para login de usuário. (Apenas torna a vida um pouco mais difícil para o programador de bot).
  7. (Adicionado por Alekc) Não é heurístico. Valores agentes do usuário.
  8. E como eu poderia esquecer a abordagem do Google (mencionada por Will Hartung). Dê aos usuários a capacidade de marcar alguém como spam, votos suficientes para spam significa que este é um usuário de spam. (calcular o que são usuários suficientes é o trabalho aqui).

Mais alguma idéia?

Foi útil?

Solução

Eu posso estar estimando demais a inteligência dos criadores de bot, mas o número 6 é completamente inútil contra qualquer criador de bot semi -decente. O uso do controle do navegador C# para criar seu bot seria praticamente inútil. Pelo que vi com esse tipo de software, é uma abordagem bastante comum.

Validar o usuário do usuário é praticamente inútil, todo o spam do blog que eu uso para obter era de bots que parecem ser navegadores da Web válidos.

Eu costumava obter muito spam de blog. Eu literalmente estaria excluindo centenas de comentários por dia. Fiz uso do Recaptcha e agora posso receber 1 por mês.

Se você realmente tenta fazer algo assim. Eu tentaria fazer o seguinte:

O usuário começa sem capacidade de postar um URL.

Após o número de postagens x, o número de postagens foi analisado em relação às outras postagens do tópico, dê -lhes acesso aos URLs de postagem.

A atividade dos usuários no site, a qualidade da postagem e todos os outros fatores que você considerar necessários serão uma reputação para o IP dos usuários.

Em seguida, com base na reputação do IP e dos outros IPs na mesma sub -rede, você pode tomar outras decisões sobre o que quiser.

Essa foi apenas a primeira coisa que veio à mente. Espero que ajude.

Outras dicas

  • O número de links em uma postagem.

Eu acredito que li em algum lugar que Akismet Use o número de links como uma de suas principais heurísticas.

E a maioria dos comentários de spam no meu blog contém mais de 10 links neles.

Falando nisso ... você pode querer verificar o API do Akismet por si só. Eles são extremamente eficazes.

Que tal uma busca por palavras -chave relacionadas ao spam no órgão de postagem?

Não é uma abordagem heurística, mas eficaz: você também pode se manter atualizado com as estatísticas publicadas por Shopforumspam usando o deles APIs.

O tempo entre as visitas à página é comum, acredito.

Preciso adicionar uma seção de comentários ao meu site pessoal e estou pensando em pedir às pessoas que me dêem seu endereço de e -mail; Enviarei um link "Publicar comentário".

Você pode querer verificar se eles vieram de um endereço IP da lista negra de spam (veja http://www.spamhaus.org/)

outra resposta Isso sugere o uso de Akismet para detectar spam, que eu apoio completamente.

No entanto, eles não são o único jogador no quarteirão.

Typepad Antispam que usa as mesmas heurísticas que o Akismet, bem como a mesma API (apenas uma chave de URL e API diferente, a estrutura das chamadas é a mesma). Pode ser seguro dizer que eles praticamente adotam a mesma abordagem que o Akismet.

Você também pode querer conferir Projeto Honeypot. Pelo que posso dizer, ele pode fazer uma pesquisa com base no endereço IP do usuário e, se for um IP malicioso conhecido, ele dirá (Harvester ou algo assim).

Finalmente, você pode verificar Linksleeve que se aproxima do comentário Spam com o que afirma ser uma maneira diferente. Basicamente, ele verifica os links que estão sendo vinculados nos comentários e, com base em onde os links estão indo, faz uma determinação.

Não se esqueça da heurística definitiva: o botão "Relatório Spam" que os usuários podem clicar. Se nada mais, isso lhe dá como administrador a chance de atualizar sua base de regras para coisas que podem estar escorregando. Obviamente, você pode simplesmente excluir a postagem e o usuário ofensivos imediatamente.

Eu tenho algumas dúvidas em torno de 4 °, de qualquer maneira, também adicionaria agente de usuário. É muito fácil fingir, mas na minha experiência, cerca de 90% dos bots estão usando o Perl como UA

Tenho certeza de que há algum tipo de serviço da web de que você pode obter uma lista das principais palavras -chave de SEO, verifique o conteúdo dessas palavras -chave. Se o conteúdo é rico em palavras -chave suspeitará de ser spam.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top