Acabe com o spam em seu blog

Uma praga chamada spamO spam é uma praga, e isto todos nós já sabemos há muito tempo. Uma praga muitas vezes difícil de ser combatida, e que acaba por causar prejuízos não só de ordem financeira, mas também relacionados à produtividade, por exemplo. Muitas vezes o tempo e o dinheiro gastos com “prevenção” e/ou “combate” ao spam é enorme, desviando recursos e esforços que, não fossem o spam, seriam voltados única e exclusivamente à produção.

Se analisarmos com cuidado todos os problemas diretos e indiretos causados pelo spam, bem como o impacto causado seja a que empreendimento e/ou projeto for, o resultado é sempre negativo e a “conta” acaba sendo paga apenas por quem é alvo do spam.

Sobrecarga de servidores, gasto excessivo de tráfego, mensagens contendo conteúdo impróprio, perda de produtividade, disseminação de fraudes, golpes e/ou malwares, etc. A lista de problemas causados pelo spam é extensa, e a solução nem sempre é fácil ou “amigável”, pois envolve, muitas vezes, uma certa redução da liberdade do usuário, bem como limitações que envolvem as “informações em tráfego” (um filtro anti-spam, muitas vezes, acaba detectando mensagens de e-mail legítimas como spam, por exemplo).

Acabe com o spam

Se tomarmos um blog como exemplo, o problema também é crítico e chega, muitas vezes, a causar prejuízos tanto financeiros quanto relativos à produtividade do autor. Um blog muito visitado, que é alvo de quantidades relativamente grandes de spam todos os dias, acaba consumindo tráfego e recursos do servidor em excesso, além do fato de que o autor do blog, muitas vezes, acaba passando muito tempo literalmente “apagando” spam.

Um “caso real” :)

Vou citar o meu caso, apenas para dar uma idéia do quão problemático pode ser o spam. O Open2Tech é um blog novo e que ainda não tem nem 06 (seis) meses completos de atividade. Não tenho, também, um índice de visitas absurdo, nem nada que chegue a comprometer o servidor onde estou hospedado e/ou até mesmo minha condição enquanto cliente de uma conta de hospedagem em regime compartilhado.

Entretanto, desde o início do blog venho recebendo uma quantidade considerável de spams, todos os dias, através dos comentários (aliás, pouquíssimos artigos foram “alvo” de spam, e posso dizer que a maioria dos spams recebidos tiveram como “alvo” mais ou menos 3 artigos, apenas).

No último dia 31 de março atualizei minha versão do WordPress para a recém lançada 2.5 e efetuei uma nova instalação do Akismet, excelente plugin anti-spam.

A partir desta data, comecei a acompanhar com mais cuidado as estatísticas de recebimento de spam. Pois bem, de 31 de março até 08 de abril, fui alvo de exatos 475 spams recebidos através dos formulários de comentários, o que dá uma média de mais ou menos 67 spams por dia. Não cheguei a verificar o impacto que o recebimento destes spams causou no servidor, e acredito que não tenha sido grande. Mas e um blog e/ou site de grande porte, como fica?

Akismet - Contagem de Spam

E era realmente isto. Todos os dias eu tinha de apagar manualmente uma certa quantidade de comentários corretamente detectados como spam pelo Akismet, a qual variava entre 50 a 70 comentários. Trata-se, é claro, de um trabalho que, além de chato e cansativo, acaba por nos desviar de outras atividades. E estamos aqui falando de uma quantidade de spam relativamente pequena, pois grandes sites, portais e blogs com certeza recebem quantidades de spam muito superiores às que recebo.

Nem tudo é perfeito

O problema do Akismet é que, apesar de seu funcionamento exemplar, ele não barra a “entrada” do spam, e aqui é onde está um dos grandes problemas. A entrada de Spam em um blog através dos comentários é feita na maioria das vezes de maneira automatizada, através dos bots, ferramentas automatizadas utilizadas pelos spammers que “varrem” a internet em busca de “brechas” onde possam disparar suas “metralhadoras”, onde então preenchem formulários online os mais diversos. Existe, é claro, uma opção no Akismet que permite a eliminação automática dos comentários marcados como spam, mas nunca a ativei por dois motivos:

  1. Constantemente vejo filtros anti-spam marcarem mensagens legítimas como spam, como é o caso, por exemplo, do SpamAssassin (disponível inclusive no painel de controle Cpanel). O próprio Akismet, aqui no Open2Tech mesmo, já identificou indevidamente alguns comentários como spam, o que me faz desconfiar de toda e qualquer funcionalidade que diga eliminar automaticamente os spams. Falhas são inevitáveis.
  2. O Akismet somente apaga os comentários detectados como spam após 1 mês do recebimento, e convenhamos, este é um prazo muito longo.

Resumindo, o Akismet executa muito bem o seu trabalho. Identifica e coloca todos os spams detectados em uma lista, e nesta lista, pode-se escolher entre retirar a “marca” de spam do comentário e “aceitá-o”, ou deletar os comentários (um a um ou em lote).

Porém, é interessante prevenirmos a entrada dos spams, e isto o Akismet não faz. Ele aceita e analisa todo e qualquer comentário, tomando então sua “decisão” e definindo se o mesmo é um comentário válido ou não. A partir daí, ou ele exibe o comentário em seu respectivo post (caso tenha detectado que o mesmo é um comentário válido), ou o envia para a lista onde devermos definir se os comentários aí presentes são realmente spam ou não. Ou seja, é um plugin que não “barra” a entrada dos spams nos comentários, e aí, os bots fazem a festa. :)

bot

Logo após meu primeiro contato com o WordPress, comecei a procurar por soluções que, senão eliminassem totalmente o spam, que pelo menos me ajudassem a diminuir bastante a recepção deste. E acabei conhecendo os dois plugins abaixo:

A solução para evitar spam nos comentários: Math Comment Spam Protection Plugin

E é aqui é que entra um plugin muito interessante que conheci esses dias, e que pode trabalhar muito bem em conjunto com Akismet. Na verdade, em dois dias utilizando o plugin, os spams/spammers simplesmente desapareceram, e o Akismet permanece ocioso. :)

Trata-se do excelente plugin “Math Comment Spam Protection Plugin“, desenvolvido pelo “Software Guide“, este sim, um plugin que realmente barra a entrada de qualquer spam nos comentários de seu blog. Assino os feeds de uma série de blogs, e foi através dos formulários de comentários destes que fiquei conhecendo o plugin, e vi inclusive a maneira como ele trabalha, a qual me agradou muito. Em todos estes blogs vi a funcionalidade do plugin acima citado, e resolvi “correr atrás” de maiores informações.

Realmente, trata-se de uma excelente forma de, digamos, “imunizar” seu blog contra spams enviados através dos comentários, uma das maiores “vias de acesso” para os spams. Resumindo, o “Math Comment Spam Protection Plugin” torna praticamente impossível a qualquer bot preencher de forma automatizada o formulário de comentários, uma vez que o mesmo adiciona uma questão matemática simples, obrigatória e, porém, indecifrável pelos bots (pelo menos por enquanto). Por exemplo, no momento da inserção de um comentário, é exibida uma simples questão matemática, da seguinte maneira: “Quanto é 2 + 5” ? Apenas a resposta correta permitirá o envio do comentário com sucesso. :)

Qualquer ser humano consegue responder à tais questões, “processo” que envolve a leitura e o entendimento do que está sendo questionado, capacidade esta não presente (ainda, pelo menos), nos bots. :)

Instalação

  1. Em primeiro lugar, efetue o dowload do “Math Comment Spam Protection Pluginneste link.
  2. Descompacte o arquivo e efetue o upload da pasta “math-comment-spam-protection” para o diretório /wp-content/plugins/ de seu WordPress.
  3. Efetue a ativação do plugin em seu WordPress.
  4. Acesse as configurações do mesmo, e altere as “Error Messages“, conforme seu desejo.
  5. Em relação à opção “Used Operands“, em meu caso deixei o padrão em utilização.

Ainda em relação à opção “Used Operands“, caso deseje, basta substituir o caractere localizado à direita do “~” pela descrição do número. Por exemplo: 1~um, 2~dois, e assim por diante. Mas o default já é suficiente, em minha opinião, e neste caso, acredito que quanto mais simples melhor, a fim de não complicar muito a vida de seu visitante e leitor. :)

OBS: em relação às “error messages“, ou “mensagens” de erro, estas são exibidas quando o visitante informa um valor incorreto para a soma solicitada, ou então quando deixa de preencher o campo. Abaixo você pode conferir dois exemplos, em utilização aqui no blog:

Error message being displayed in case of no answer (empty field) / not entered a number

Esta é a mensagem de erro exibida quando o campo é deixado em branco. Aqui no Open2Tech estou usando o seguinte código:

<p align=”center”>
<strong>Error:</strong> Por favor, utilize o botão “<b>Voltar</b>” do seu navegador e preencha o campo “proteção contra Spam”.
</p>

Error message being displayed in case of a wrong answer

Esta é a mensagem exibida no caso de ser informado um resultado incorreto para a soma. Aqui no Open2Tech estou usando o seguinte código:

<p align=”center”>
<strong>Error:</strong> Você digitou uma soma incorreta no campo “Proteção contra Spam”. <br />Pressione o botão “<b>Voltar</b>” de seu navegador, e tente novamente.
</p>

Visão geral

Math Comment Spam - Opções

Executados os procedimentos acima, o plugin está quase instalado. Resta agora efetuarmos uma pequena modificação no arquivo “comments.php” de seu tema, o qual pode ser encontrado no seguinte local:

/pastadoseuwordpress/wp-content/themes/nomedoseutema/

Faça o backup deste arquivo antes de qualquer modificação, para evitar quaisquer problemas.

OBS: para a edição de arquivos deste tipo recomendo o excelente editor freeware PSPad, o qual pode ser obtido neste link.

Iniciando a edição do arquivo comments.php

Em primeiro lugar, você vai ter de definir o local onde deseja que a “pergunta matemática” seja feita. No meu caso, resolvi inserir logo após o campo “website”, no formulário de comentários. Você pode, é claro, inserir onde bem desejar. Abaixo darei alguns exemplos tomando como base a maneira como configurei aqui no Open2Tech, e a partir daí, você escolhe onde deseja inserir.

Vale ressaltar, entretanto, que se seguir os procedimentos abaixo sem nada modificar, o plugin funcionará perfeitamente, e a pergunta matemática será feita logo após o campo “website”, da mesma forma que aqui no Open2Tech. :)

Copie o código abaixo, disponível também no site do desenvolvedor:

<?php

/****** Math Comment Spam Protection Plugin ******/

if ( function_exists('math_comment_spam_protection') ) {

$mcsp_info = math_comment_spam_protection();

?> <p><input type="text" name="mcspvalue" id="mcspvalue" value="" size="22" tabindex="4" />

<label for="mcspvalue"><small>Spam protection: Sum of <?php echo $mcsp_info['operand1'] . ' + ' . $mcsp_info['operand2'] . ' ?' ?></small></label>

<input type="hidden" name="mcspinfo" value="<?php echo $mcsp_info['result']; ?>" />

</p>

<?php } // if function_exists... ?>

Abra o arquivo comments.php do seu tema e busque pelo seguinte código, na linha 173:

<label for=”url”><small>Website</small></label></p>

Insira o código fornecido pelo autor do plugin imediatamente após a linha acima, de forma tal que este trecho em seu comments.php vai ficar exatamente da forma abaixo:

<label for=”url”><small>Website</small></label></p>

<?php /****** Math Comment Spam Protection Plugin ******/ if ( function_exists('math_comment_spam_protection') ) { $mcsp_info = math_comment_spam_protection(); ?> <p><input type="text" name="mcspvalue" id="mcspvalue" value="" size="22" tabindex="4" /> <label for="mcspvalue"><small>Spam protection: Sum of <?php echo $mcsp_info['operand1'] . ' + ' . $mcsp_info['operand2'] . ' ?' ?></small></label> <input type="hidden" name="mcspinfo" value="<?php echo $mcsp_info['result']; ?>" /> </p> <?php } // if function_exists... ?>

Customizações

É possível traduzirmos algumas opções do plugin, pelo menos as que ficarão visíveis ao usuário.

Para tanto, vamos analisar o código original que deve ser inserido no comments.php:

<?php /****** Math Comment Spam Protection Plugin ******/ if ( function_exists('math_comment_spam_protection') ) { $mcsp_info = math_comment_spam_protection(); ?> <p><input type="text" name="mcspvalue" id="mcspvalue" value="" size="22" tabindex="4" /> <label for="mcspvalue"><small>Spam protection: Sum of <?php echo $mcsp_info['operand1'] . ' + ' . $mcsp_info['operand2'] . ' ?' ?></small></label> <input type="hidden" name="mcspinfo" value="<?php echo $mcsp_info['result']; ?>" /> </p> <?php } // if function_exists... ?>

No caso acima, você pode simplesmente traduzir a frase “Spam Protection: Sum of” por “Proteção contra Spam: Soma de“. Preste sempre bastante atenção quando efetuar modificações deste tipo, para não alterar nada além do que deseja traduzir. Qualquer vírgula e/ou outro caracter omitido/excluído/inserido indevidamente pode fazer com que o plugin deixe de funcionar.

De outra maneira, você pode também fazer a seguinte inversão/alteração no código, sempre prestando atenção no que está fazendo, é claro:

Substitua o seguinte trecho:

<label for="mcspvalue"><small>Spam protection: Sum of <?php echo $mcsp_info['operand1'] . ' + ' . $mcsp_info['operand2'] . ' ?' ?></small></label>

Pelo conteúdo abaixo, caso deseje:

<label for="mcspvalue"><small><b>Quanto é <?php echo $mcsp_info['operand1'] . ' + ' . $mcsp_info['operand2'] . ' ?'?></b> (proteção contra spam)</small></label>

Utilizando o exemplo acima, o “layout” da “pergunta matemática” de seu formulário de comentários ficará exatamente igual à que é exibida aqui no Open2Tech:

Math Comment Spam Protection Plugin - Formulário de comentário

Vale ressaltar que utilizei as tags <b></b> nas modificações acima, a fim de destacar aqueles trechos que achei mais importantes, com a finalidade de chamar a atenção do visitante.

Alguns comentários

A ferramenta fornece um nível de proteção fantástico, e em três dias de utilização, não recebi um spam sequer. O Akismet está totalmente ocioso, aliás. :)

A partir da instalação conforme descrito acima, muito dificilmente qualquer spam, pelo menos aqueles “disparados” através de bots, (a grande maioria) conseguirá atravessar a “barreira” mantida pelo “Math Comment Spam Protection“, uma vez que é preciso, para a aceitação do comentário, que este passe na verificação executada pelo plugin, sendo que a “pergunta” é alterada a cada carregamento da página. Isto, com certeza, nenhum bot “por enquanto” é capaz de burlar.

E, segundo o site do desenvolvedor, o plugin não requer a utilização de JavaScript ou cookies.

Um sistema eficaz

Este tipo de sistema, que tem por objetivo confirmar se a “entidade” que está escrevendo o comentário, o post e/ou enviando um formulário de contato é realmente um ser humano e não um bot, é muito interessante e útil.

Aliás, quando eu estava pesquisando formulários de contato para instalar aqui no blog, este foi um dos primeiros quesitos com o qual me preocupei, pois o spam pode “entrar” em um blog através de duas principais “vias de acesso”: comentários em posts e formulários de contato.

A solução para evitar spam nos formulários de contato: Cforms

Acabei instalando o excelente plugin “cformsII“, o qual além de permitir a criação de formulários muito bonitos e customizáveis, possui uma área de administração simplesmente fantástica e repleta de recursos, e permite que se insira em qualquer formulário uma “imagem de verificação”, ou “captcha“, a qual é automaticamente alterada a cada recarregamento da página.

Cforms - Área de administração

O formulário só é enviado caso o visitante repita os caracteres solicitados, o que também evita que bots inundem sua caixa de mensagens com spam.

Cforms - Formulário de contato

Além disso, o cformsII facilita ao máximo a vida do autor do blog, ao exibir na barra de ferramentas do editor nativo do WordPress um botão que permite a inserção de qualquer formulário criado através do plugin em qualquer post e/ou página de forma super simplificada: basta se escolher o local onde se deseja inserir o formulário, e se clicar no tal botão. :)

Cforms - Inserindo um formulário

O cforms é outro plugin que recomendo, caso você deseje definitivamente se livrar dos spams em seu blog. Diferentemente do “Math Comment Spam Protection Plugin”, o cforms não requer alteração alguma nos arquivos do blog/template, portanto, sua instalação é muito mais simples, se resumindo ao básico de qualquer plugin. :)

Finalizando, gostaria de dizer que, pelo menos no meu caso, a dupla “Math Comment Spam Protection Plugin” e “cforms” está realizando um belo “trabalho”. :)

Informações adicionais

Math Comment Spam Plugin:

Link para download do Math Comment Spam Protection Plugin

Site oficial do plugin

Site oficial do desenvolvedor

CformsII:

Link para download do cformsII

Site oficial do plugin

Site oficial do desenvolvedor

Compare preços de: câmera digital, DVD player, Ipod Nano, filmadora, home theater, monitor LCD, cartão de memória, celular, notebook, impressora

13 thoughts on “Acabe com o spam em seu blog

  1. alex
    olá gostei muito do seu post. instalei o plugin Math Comment Spam Protection Plugin no meu site porem ele dá a caixa de resultado porem esta dando este erro sera que poderia me ajudar? erro:

    Warning: array_rand() [function.array-rand]: Second argument has to be between 1 and the number of elements in the array in /home/alexlace/public_html/blog/wp-content/plugins/math-comment-spam-protection/math-comment-spam-protection.classes.php on line 71

  2. Marcos A.T. Silva Post author
    Olá, Alex! Seja bem vindo!

    Vou te fazer algumas perguntas, ok? :)

    1) Me diz uma coisa, em que momento ocorre o erro? Logo após o post ser acessado, ou quando se tenta postar algum comentário?

    2) Você alterou alguma coisa nas opções do plugin (na área administrativa do mesmo), no tocante à opção “Used Operands”? Se sim, como alterou?

    3) Você alterou o arquivo comments.php exatamente da forma que passei acima?

    Ou seja, inseriu o bloco de texto adicional fornecido pelo desenvolvedor imediatamente após o código existente na linha 173, conforme passei acima?

    É interessante verificar todos os procedimentos acima, e se você fez um backup do “comments.php” antes, seria interessante utilizar este último e refazer os procedimentos, para ter certeza realmente do que está ocorrendo.

    4) Você está utilizando a última versão do plugin e também do WordPress (2.5) ?

    Qualquer coisa me dá um toque. :)

    Abraços!

  3. alex
    Olá marcos, pode não parecer mas fiz exatamente como indicado, esta mensagem de erro se dá exatamente quendo coloco pelo painel do wordpress. esta linha “173″ não consegui pois não tem . para vc ter uma idéia eu copiei o exemplo do seu blog e colei para não haver erro mas mesmo assim está dando pau.
  4. Marcos A.T. Silva Post author
    Olá Alex!

    Puxa, que coisa estranha.

    Pelo que entendi de seu último comentário, o erro se dá quando você tenta salvar a alteração no comments.php, através do painel do WP?

    Que tema você utiliza? Já tentou efetuar o download do arquivo, alterar em sua máquina, e subir novamente?

  5. alex
    Blz Marcos?
    è as coisas estão fd por aqui o antispan não funciona de jeito nenhum. fiz uma imagem do erro e se possivel me passa seu -email para mandar pra vc ter uma ideia do que esta acontecendo.
    outra coisa tem um site muito legal para se colocar música em blog totalmente gratis. talves vc ja tenha até visto mas como sou novo por aqui achei bastante interessante para vc colocar ai pras pessoas com um tutorial.
  6. Marcos A.T. Silva Post author
    Caramba, Alex, que coisa doida…rsrs

    Vou te enviar um e-mail, aí você me responde. :)

    E me passa também a dica do site musical, se puder.

    Um grande abraço!

  7. alex
    Ola marcos………. parece que vamos conseguir agora fiz algumas mudanças aqui depois de suas dicas. so tem um detalhe, ao invés de aparacer: quanto é 2+3 aparece: quanto é dois + três. eu tive que mudar a confg. do plugin. tipo 1~1 2~2……. porque da outra forma não dava.
  8. Marcos A.T. Silva Post author
    Olá, Alex! :)

    Então, conseguiu fazer o plugin funcionar?

    Ele funcionou através da configuração que passou acima, ou seja, utilizando o “nome” do número ao invés do próprio número?

    Se sim fico feliz por ter conseguido. Só acho estranho não ter funcionado da mesma forma que aqui no Open2Tech.

    Bom, qualquer coisa me dá um toque. :)

    Abraços!

  9. Pingback: Math Comment Spam Protection: reduzindo o spam em seu blog | PluginMania

  10. Pingback: » Acabe com SPAM no seu blogVipuraí

  11. Pingback: Acabe com SPAM no seu blog | Vipurai

  12. Telma
    Obrigada … seu post ajudou me ajudou muito, é simples, objetivo e tem todas as informações para o plugin funcionar.

Leave a Reply