Abrir
Fechar

Como proteger seu fórum Simple Machines (SMF) contra spam. Detecção automática do mecanismo de fórum Perfil atento alimentado por smf

Vamos começar imediatamente com o código do script principal:

#!/usr/bin/perl

# script which-forum.pl
# (c) 2010 Alexandr A Alexeev, http://site/

use estrito;

# linhas comentadas - para rigor
# se a tarefa for coletar estatísticas do motor, deixe como está
# se você fizer uma lista de fóruns - remova o comentário

meus $dados;
$dados .= $_while (<> ) ;

# verifica quanto foi Powered by phpBB sem link no rodapé
imprima "phpbb \n"
if ($dados =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/i ou
# $data =~ /viewforum\.php\?[^""]*f=\d+/i ou
$dados =~ /phpBB\-SEO/i ou
$dados =~ /) ;
imprima "ipb \n"
if ($dados =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i ou
$dados =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/i ou
$dados =~ /

/eu ou
$dados =~ /index\.php\?[^""]*showforum=\d+/i) ;
imprimir "vbulletin \n"
if ($dados =~ /Desenvolvido por:?[^<]+vBulletin[^<]+(?:Version)?/i ou
$dados =~ /) ;
imprima "smf \n"
if ($dados =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>Desenvolvido por SMF/i ou
$dados =~ /index\.php\?[^""]*placa=\d+\.0/i) ;
imprima "punbb \n"
if ($dados =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> PunBB/i) ; #ou
# $data =~ /viewforum\.php\?[^""]*id=\d+/i);
imprima "fluxbb \n"
# if($data =~ /viewtopic\.php\?id=\d+/i ou
if ($dados =~ /]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i) ;
imprima "exbb \n"
if ($dados =~ /]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i) ; # ou
# $dados =~ /forums\.php\?[^""]*forum=\d+/i);
imprima "yabb \n"
if ($dados =~ /]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/i ou
$dados =~ /YaBB\.pl\?[^""]*num=\d+/i );
imprima "dleforum \n"
if ($dados =~ /\(Desenvolvido pelo Fórum DLE\)<\/title>/eu ou
$dados =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">Fórum DLE<\/a>/eu) ;
imprimir "ikonboard \n"
if ($dados =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/i ou
$dados =~ /\n"
if ($dados =~ /\n"
# if($data =~ /forums\.php\?fid=\d+/i ou
# $data =~ /topic\.php\?fid=\d+/i ou
if ($dados =~ /]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i) ;
imprima "stokesit \n"
# if($data =~ /forum\.php\?f=\d+/i ou
if ($dados =~ /]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i) ;
imprima "pódio \n"
# if($data =~ /topic\.php\?t=\d+/i ou
if ($dados =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podium/i) ;
imprima "usebb \n"
# if($data =~ /forum\.php\?id=\d+/i ou
if ($dados =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i) ;
imprima "wrforum \n"
# if($data =~ /index\.php\?fid=\d+/i ou
if ($dados =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i) ;
print "aindaoutrofórumnet \n"
if ($data =~ /Mais um fórum\.net/i ou
$dados =~ /default\.aspx\?g=postagens&t=\d+/i) ;

Você encontrará este e outros scripts mencionados na postagem em este arquivo.

Roteiro qual-forum.pl examina o código da página HTML para ver se contém assinaturas do mecanismo do fórum. Usamos uma técnica semelhante quando Definição de WordPress e Joomla, mas existem algumas diferenças. Em primeiro lugar, o script em si não carrega o código da página, mas o lê em stdin ou em um arquivo passado como argumento. Isso permite baixar a página uma vez, por exemplo, usando o wget, e depois executá-la em vários analisadores, se tivermos mais de um. Em segundo lugar, neste script a presença de uma assinatura é 100% um sinal do motor. Da última vez, a presença da assinatura apenas acrescentou peso ao motor correspondente e o motor com maior peso “ganhou”. Decidi que, neste caso, tal abordagem apenas complicaria desnecessariamente o código.

Para testar o script, fiz algumas pesquisas. Compilei uma lista de vários milhares de fóruns e executei cada um deles através do meu script, determinando assim a porcentagem de respostas do programa e a popularidade de vários mecanismos.

Para obter uma lista de fóruns que usei com seu analisador do Google. Consultas como esta foram enviadas para o mecanismo de pesquisa

site:forum.*.ru
site:talk.*.ru
site:board.*.ru
site:smf.*.ru
site:phpbb.*.ru
....

e assim por diante. Você encontrará o código completo do gerador de consulta no arquivo gen-forumsearch-urls.pl. Além de zone.ru, .su .ua .kz e .by também foram usados. Da última vez, foi difícil realizar tal estudo, pois os sites WordPress e Joomla não possuem tais assinaturas na URL. Catálogos como cmsmagazine.ru/catalogue/ não fornecem um tamanho de amostra suficiente. O que são 600 sites Drupal?

Devo admitir que os resultados do experimento me decepcionaram. Dos 12.590 locais estudados, o motor foi identificado com sucesso em apenas 7.083, ou seja, apenas em 56% dos casos. Talvez eu não tenha levado em consideração algum motor? Era mesmo verdade que metade dos fóruns tinham o Bitrix instalado? Ou deveria ter passado mais tempo procurando assinaturas? Em geral, pesquisas adicionais são necessárias aqui.

Entre os 56% dos motores identificados com sucesso, os mais populares, como esperado, foram IPB (31%), phpBB (26,6%) e vBulletin (26,5%)

Eles são seguidos com grande defasagem por SMF (5,8%) e DLEForum (5,3%). Meu trocadilho favoritoBB terminou apenas na 6ª colocação (1,64%). Eu não recomendaria confiar muito nesses números (eles dizem que um em cada três fóruns no RuNet roda em IPB), mas certas conclusões podem, é claro, ser tiradas.

Por exemplo, se você pretende criar um site em um mecanismo de fórum e planeja modificar o fórum, digamos, pagar aos usuários US$ 0,01 por cada mensagem com retirada automática de fundos uma vez por semana, então você deve escolher um dos três mecanismos mais populares. Quanto mais popular for o fórum, maiores serão as chances de encontrar um programador que o conheça bem.

Se nenhuma mudança significativa for esperada no mecanismo, pode fazer sentido escolher um mecanismo menos popular, por exemplo, SMF ou punBB. Isso reduzirá o número de ataques de hackers ao seu fórum e a quantidade de spam enviado automaticamente para ele.

Scripts para pesquisar/identificar fóruns também podem encontrar muitas aplicações práticas. A primeira coisa que me veio à cabeça foi esta classificar por TCI fóruns identificados e coloque postagens nos primeiros cem com links para um de seus sites. No entanto, centenas de links dofollow do fórum não afetaram o TCI de forma alguma (já se passaram 2 atualizações), então é melhor não perder tempo aqui, a menos que você não esteja interessado em transições.

É claro que o mencionado uso de scripts está longe de ser o único. Acho que você pode facilmente descobrir de que outra forma pode usá-los.

Caso alguém não saiba, Simple Machines Forum - abreviadamente SMF - é, conforme indicado no site oficial, um pacote gratuito de nível profissional que permitirá que você organize sua própria comunidade online em poucos minutos. neste motor, você pode olhar aqui. Eu mesmo criei meu próprio fórum (a propósito, vá para FreeForum.biz).

Não importa quanto spam apareça no seu fórum. O importante é que você gaste seu valioso tempo com moderação. Configurar um plugin que fará todo o trabalho para você leva alguns minutos e vai economizar, no total, dias e meses, o que somará os minutos que você gastaria apagando mensagens e excluindo usuários.

Observo que tentei combater spammers por conta própria - bloqueei o acesso via IP e até sub-redes. Funcionou mesmo, filtrou muito lixo, mas mesmo assim, uma vez a cada um ou dois dias alguém conseguia passar. E demorou muito para reabastecer o banco de dados de IPs banidos. Achei que deveria haver uma maneira melhor, e de fato havia!

1. Instalação e configuração do Stop Spammer

Em duas semanas de operação, este plugin bloqueou 2.202 usuários falsos. Cada um deles deixaria pelo menos uma mensagem. Os spammers não mostram sinais de desaceleração e eu gastaria tempo limpando meu fórum todos os dias.

Em vez disso, a cada poucos dias vou para a página de gerenciamento de usuários e vejo algo assim:

Passo para a seção “Aguardando aprovação” (são os spammers encontrados que estão privados da oportunidade de deixar mensagens até que suas contas sejam aprovadas pelo administrador). Eu marquei a caixa de seleção “Selecionar tudo” e os excluo com um clique:

É isso, todas as contas de spam vão para o esquecimento. Voltemos à nossa lista de usuários:

Percebe-se que a lista diminuiu visivelmente, mas quem são os demais? Selecionamos todos e os enviamos para verificação com um botão:

Um “vermelho” aparece, nós o excluímos imediatamente. Se você tiver tempo livre, você pode fazer outros. Se você não tiver tempo, não faça nada com novos usuários - a maioria deles “corará” durante as verificações subsequentes. Se tiver tempo, você pode ir até os perfis deles e ver - se houver um link na assinatura, eles serão banidos imediatamente, são contas falsas de spammers que nunca deixarão uma única mensagem útil.

Eu te falei como usar esse plugin mágico, agora vou te contar como instalá-lo.

Baixe dois arquivos: language_full.zip (este é o pacote de idiomas para tradução do plugin) e StopSpammer_v2_3_9.zip (o número pode ser diferente, conforme as versões são atualizadas). Descompacte o conteúdo do arquivo StopSpammer_v2_3_9.zip em alguma pasta. Descompacte o arquivo language_full.zip na mesma pasta e concorde em substituir os arquivos. Agora compactamos nossa pasta em um arquivo zip.

No painel de administração, prossiga para instalar os pacotes. Ao lado da inscrição “Baixar pacote” existe um botão para selecionar um arquivo em seu computador. Selecione nosso novo arquivo (onde substituímos o arquivo de idioma), carregue-o no fórum e ative o pacote.

É isso!

A configuração adicional do plugin ocorre no painel de administração: vá para

Usuários → Registro → Configurações

Você pode deixar os valores padrão lá. Existe também um campo “Sua chave API”. Sem esta chave, você não poderá denunciar novos spammers (mas o plugin funcionará e filtrará spammers conhecidos). Se você deseja obter sua própria chave de API, acesse www.stopforumspam.com para se registrar e insira a chave aqui. Caso ainda não tenha recebido a chave, deixe o campo em branco. Então a chave padrão será usada.

2. Instalação e configuração de Links Anti-Spam

Os adeptos da religião SEO (você pode ler mais sobre minha atitude em relação aos SEO-nistas em outro) têm a firme convicção de que, ao aumentar o número de links para seu site, eles o “promovem” (por algum motivo, a ideia de ​criar conteúdo interessante e de alta qualidade não agrada a ninguém, não vem à mente). Ele seria um idiota, mas haveria maneiras de extrair dinheiro dele. Assim, alguns “cidadãos” prestam serviços para “administrar” sites por meio de fóruns. Eles criam um grande número de contas em diferentes fóruns e inserem backlinks em assinaturas e outros campos disponíveis. Apesar de até mesmo “experimentadores de SEO” já terem provado experimentalmente que esses links são de utilidade zero, alguns alertam que você pode ser banido dos motores de busca por isso, Yandex, por exemplo, simplesmente ignora links em TODOS os fóruns e sites onde qualquer pessoa pode deixar links. O Google também possui algoritmos semelhantes - ignorando links em comentários, etc. Mas a lei não foi escrita para idiotas... Portanto, nós, os proprietários dos fóruns, temos que levar em conta o fato de que “otimizadores legais de SEO” ordenam uma “execução ”de suas criações de merda por mil rublos.

O plugin Stop Spammer irá filtrar bastante. Mas podemos ajudá-lo! Você pode ter o interesse de postar links em seu fórum fora de spammers. É exatamente para isso que servem os links anti-spam. Este plugin (números específicos podem ser alterados nas configurações) faz o seguinte:

  • quem, por exemplo, tem menos de cinco mensagens, não pode deixar links de jeito nenhum
  • quem, por exemplo, tem menos de 15 mensagens, não pode deixar links ativos, http:// é retirado dos links, e em geral esses links passam a ser nubolinks (newbielink)
  • aqueles com, por exemplo, menos de 50 postagens podem deixar links ativos, mas todos os links recebem um atributo nofollow.
  • Bom, quem tem mais de 50 posts pode inserir os links ativos mais comuns, que transferem o peso do site para a página que está sendo linkada.

Acredite em mim, os aspirantes a SEO são muito cuidadosos com a forma como seu link vai parar no site. Eles perderão rapidamente o interesse em seu fórum se não conseguirem postar facilmente seus links de merda em seus sites de merda.

Sim, aliás, as regras acima também funcionam em campos como assinaturas.

Para instalar este plugin, acesse sua página oficial. Baixe o arquivo anti_spam_links_v1.0.1.zip (o número pode ser diferente). Novamente no fórum admin, vá em instalar pacotes (como você fez com o pacote anterior) e instale-o. Não há arquivo de idioma para este pacote, portanto não há necessidade de descompactar o arquivo ou fazer qualquer coisa com ele.

Para configurar o plugin, vá para a seção

Configuração → Configurando mods… → Configurando modificações

Se desejar, especifique quantas mensagens o usuário deve ter para atualizar seus recursos.

Conclusão

Esses dois plugins vão facilitar MUITO a sua vida, dono do fórum, e vão economizar muito tempo. No entanto, de vez em quando, os spammers surgem e, pelo menos uma vez por semana, é necessário “diminuir” os usuários e excluir mensagens de spam. Portanto, não abandone seus recursos web!