• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pedrotuga

Ideias para um filtro de spam

16 mensagens neste tópico

Viva... passei pelo nosso pastebin e reparei que o captcha aritmético, apesar de ter reduzido o spam brutalmente, lá vai sendo quebrado. Penso que o spam é inserido manualmente, ainda assim há coisas que podem ser melhoradas.

Dada a utilizade do pastebin, e tendo em conta que é muito usado por alguns membros do portugal a programar, estava aqui a pensar nuns melhoramentos no spam. Reparei que o pastebin.com tem um filtro de spam, e pensei logo, vamos tambem nós arranjar o nosso.

Isto é um projecto que deve começar pequeno mas funcional e eventualmente ir crescendo e amadurecendo conforme a sua efeciencia.

Isto é o que tinha pensado para o projecto:

  * Um core simpes que seria basicamente um mecanismo de callbacks para funções que validariam o conteudo com spam ou não.

  * Um ficheiro de configuração onde são definidas as funções a usar e alguns parâmetros

  * Uma micro especificação para escrita de funções

  * Uma API em XMLRPC ou semelhante para permitir o uso deste serviço em sites externo

  * Um set básico de funções de validação de uso mais geral que seria incluido na instalação base

Isto seria a forma inicial, no futuro se esta primeira fase for bem sucedida e se houver interesse e recursos para continuar podia-se partir para técnicas mais avançadas tipo: uma base de dados de spam com a possibilidade de se comparar um documento a testar com um documento de spam e ver quão semelhantes são.

Mas voltando ao início, para o nosso pastebin pensei neste tipo de regras:

  * uma blacklist de palavras tipo:

viagra, britney, erotic, porn, [analisar os posts de spam]

  * eliminar posts que contenham 'http' mais do que N vezes nas primeiras linhas dos posts

  * eliminar posts que contenham http://[a-zA-Z0-9].(info|ru|in|biz) nas primeiras linhas

  * Eliminar posts feitos por autores cujo nome seja uma string composta por letras e números com muitas maiusculas a meio e sem espaços, os posts de spam neste momento são feitos por autores cujo nome é uma coisa tipo: cnOEtqHQONSrDQr

...

Este tipo de filtro vai dificultar a utilização do pastebin por exemplo para afixar links. Mas com o tempo os filtros podem ir sendo afinados de forma a serem mais efectivos e distiguirem entre links 'normais' e links de spam.

Mais ideias para regras de filtragem ou para o projecto em geral são bem vindas.

Penso que isto é um projecto relativamente simples e de pequena dimensão, pelo menos no início. O nosso pastebin é uma boa plataforma de testes para os releases mais cuidados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ena pá, tantas ideias...

Como já deves ter lido algures, o próximo passo na luta contra o spam é a passagem dos captchas a captchas de imagens. O próximo passo seria limitar os links por posts (estava a pensar em cerca de 10) e depois passar a análise de patterns manualmente que seriam usadas como filtros (semelhante à tua ideia da blacklist de palavras).

Em relação ao nome, não te podes esquecer que por vezes o campo do nome do submitter é preenchido só porque sim, muitas vezes com asdf apenas p.e..

Em relação ao teu projecto com XMLRPC e o diabo a sete, dá uma olhada aos services do SAPO: http://services.sapo.pt/Metadata/Service/Captcha?culture=PT

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu já experimentei usar o akismet num forum no qual era administrador e fiquei bastante desiludido com aquilo. Só funciona para comentários de blogs, e se for por exemplo um blog sobre programação ou outro assunto mais técnico, aquela porra acaba por bloquear mensagens legítimas a torto e a direito. Num fórum aquio bania-me mais de metade das mensagens.

tirácio, captchas são precisamente o contrário de um filtro de spam, os captchas são eficientes mas são demasiado chatos, têm tambem o inconveninete de fazerem com que as páginas onde estão sejam listadas em listas de sites cuja a assecibilidade é limitada.

O serviço do sapo está dar-me erro em todos os pedidos:

<fault>
<faultcode>Server</faultcode>
<faultstring>Could not route request</faultstring>
<faultactor>http://services.sapo.pt</faultactor>
<detail>
<tns:exceptionInfo>
<tns:code>2500</tns:code>
<tns:id>222325f7-cf70-4964-b275-f868ebfdf97d</tns:id>
<tns:datetime>16-06-2008 13:07:51.5196773</tns:datetime>
</tns:exceptionInfo>
</detail>
</fault>

de qualquer das formas, é apenas um serviço de captchas, não é um filtro de spam.

A questão do nome não se coloca, a ideia não é restringir determinada característica do conteudo de forma absoluta, o utilizador nem sequer é suposto saber por que razão o seu conteudo é bloquado. Há utilizadores que põe o nome há outros que não, mas os bots que colocam spam, têm características que podemos padronizar, o nome neste momento é uma delas.

Como já deves ter lido algures, o próximo passo na luta contra o spam é a passagem dos captchas a captchas de imagens. O próximo passo seria limitar os links por posts (estava a pensar em cerca de 10) e depois passar a análise de patterns manualmente que seriam usadas como filtros (semelhante à tua ideia da blacklist de palavras).

Grrr... lê o meu post. Semelhante não, igual.

Já agora, quem é que esta a implementar isto no pastebin? É que não há motivo para não se estruturar esta funcionalidade em condições em vez de andar a hackar o código fonte do pastebin à bruta.

Até porque os critérios devem estar definidos numa lógica separada da lógica onde são verificados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em relação ao SAPO,

http://services.sapo.pt/Captcha/Show?id=d9100e6a6051172d94e0da304dbc7bb24d1babbe

http://services.sapo.pt/Captcha/Show?id=3aaf3dbffc1351d463bbbee1a01942642624dbf7&font=Courier_New.ttf&textcolor=ff0000&size=17

Grrr... lê o meu post. Semelhante não, igual.

Tu filtras palavras, eu filtro patterns. Do género, contar quantas vezes é que a pattern <li>{whitespace}<a href={link}>{whitespace}{qq coisa}</a>{whitespace}</li>. É diferente.
[

Já agora, quem é que esta a implementar isto no pastebin? É que não há motivo para não se estruturar esta funcionalidade em condições em vez de andar a hackar o código fonte do pastebin à bruta.

Até porque os critérios devem estar definidos numa lógica separada da lógica onde são verificados.

Sou o responsável pelo Paste, sou eu que implemento isso.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em relação ao SAPO,

http://services.sapo.pt/Captcha/Show?id=d9100e6a6051172d94e0da304dbc7bb24d1babbe

http://services.sapo.pt/Captcha/Show?id=3aaf3dbffc1351d463bbbee1a01942642624dbf7&font=Courier_New.ttf&textcolor=ff0000&size=17

Tu filtras palavras, eu filtro patterns. Do género, contar quantas vezes é que a pattern <li>{whitespace}<a href={link}>{whitespace}{qq coisa}</a>{whitespace}</li>. É diferente.

Oh camarada, lê o meu post. E vão duas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Man, tu falas em filtrar palavras tipo tips porno anal, eu falei em patterns, just that. E em relação ao SAPO, era por causa do erro que te estava a dar, aposto que não estavas a alterar o id no URL.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
  * eliminar posts que contenham 'http' mais do que N vezes nas primeiras linhas dos posts

  * eliminar posts que contenham http://[a-zA-Z0-9].(info|ru|in|biz) nas primeiras linhas

Anyway, a ideia desta thread era mesmo discutir ideias para detectar spam. Já aí estão umas poucas, mas acho que é possível usarmos bem mais.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma ideia:

Obrigar a quem postar lá meter na primeira linha alguma uma frase obrigatória que depois era removida, tipo: "Este post não é spam."

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma ideia:

Obrigar a quem postar lá meter na primeira linha alguma uma frase obrigatória que depois era removida, tipo: "Este post não é spam."

Com isso acabava-se com todo o spam internacional e com o spam dos bots.

Já o spam do tirácio, esse é inevitável :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Com isso acabava-se com todo o spam internacional e com o spam dos bots.

Já o spam do tirácio, esse é inevitável :D

Só passava o spam directionado para o p@p. Que não deve de ser muito.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpem lá resuscitar o tópico, mas o problema mantém-se. Ainda vão dar solução a isso? Eu não uso frequentemente o pastebin, mas é um pouco desagradável quando lá vou "cuscar" à procura de códigos interessantes, e me aparecer spam...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei mas acho que aquele captcha não é lá coisa muito segura pelo menos eu não a vejo como tal :\ Acho que com um parser bem feitinho passa-se facilmente.

E uma imagem captacha?, "fiz" um para o site da revista (http://www.revista-programar.info/front/participate#form), é bastante simples implementa-lo no paste.

Pá muito limpinho isso qq OCR passa isso :\

Acho que um captcha de imagem xega mas com uma imagem bem feita que não seja lida por qq ocr.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim mas não é preciso muita segurança por agora, naquele captcha basta alterar uma variavel para a imagem ficar com ruido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olha uma ideia que vi hoje aplicada num filtro de spam para o Wordpress foi incluir um campo que fica invisível com CSS e que não deve ser preenchido (um utilizador comum não o preenche porque não o vê). Como normalmente os spammers preenchem tudo, logo se o campo estivesse preenchido, era facilmente apanhado.

Não é nada intrusiva, e até pode ter resultados. Um campo com um nome tipo mail, nome, ou assim, é um alvo perfeito.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora