Filtre SPAM Em Qualquer Website Com O Akismet

Nos dois artigos anteriores aprendemos diversas técnicas de combate a spams. Apesar de não exigirem muito tempo para a implementação, podemos considera-las trabalhosas.

Passando pelos nove círculos e purgatório, chegamos ao que promete ser a morada da tranquilidade chamada Akismet. Trazido ao mundo pelos mesmos criadores do WordPress traz como frase abertura do site palavras que nos fazem viajar: “Lembra dos dias antes do spam?”

Antes de utilizar, vamos entender como ele funciona. Quando um comentário for submetido no seu website configurado com o Akismet, este comentário será enviado aos servidores do Akismet que farão testes para definir se o conteúdo do comentário confere com outros já sinalizados como spams.

Para você que acompanhou o primeiro tutorial desta série, vai lembrar do dicionário de termos. Pois é mais ou menos isso que é feito nos servidores do Akismet, só que bem mais complexo.

Agora calcule que diariamente milhões de blogs são analisados desta maneira pelo Akismet. É possível então ter ideia do tamanho do banco de dados dessa gente. E quem sai ganhando somos nós que estamos ao lado deste policial que conhece a cara de grande parte desses delinquentes.

Sem dúvida o Akismet é o maior esforço concentrado na luta contra spams. E ele é tão eficiente, que no site são mostradas as estatísticas do serviço. E lá esta: 83% dos comentários são spams.

Ok, já esta feita a propaganda e agora como usar?

Os desenvolvedores disponibilizaram um API de utilização livre que requer apenas uma chave de ativação. Bem no estilo Google de disponibilizar APIs.

Mas Antes…

Apesar de utilização livre para qualquer website, você somente consegue a chave de ativação se for registrado no WordPress.

Conseguindo A Chave De Ativação

Apesar do serviço, e o website serem em inglês, a utilização é bastante intuitiva e os seus conhecimentos de inglês adquiridos jogando Need For Speed já bastam.

Acesse o Akismet e clique no link “free API Keys avaliable”

  • Na página seguinte informe o e-mail para onde será enviada a chave da API.
  • No próximo passo sãos disponibilizadas opções de assinatura para blogs comerciais. Se este for o seu caso, escolha uma das opções.
  • Se por outro lado, você possui um blog pessoal ou por hobby escolha o link no final da página “use Akismet for free”.
  • Chegamos então à última página do processo de registro. Preencha os campos e finalize o cadastro.
  • Acesse o e-mail que você cadastrou na página e lá estará sua chave de ativação do Akismet.

Download Da Classe

Retornando ao website do Akismet. Na página inicial, o link de download aponta para um plugin destinado aos usuários do WordPress que afinal é o público alvo. Mas como eu disse acima, eles permitem a utilização em outros websites.

Então escolha o menu ‘Development’ e vamos fazer o download do arquivo para desenvolvimento com PHP 5. Encontre na lista o ‘PHP 5 class by Alex’.

Você será levado a um website que além do link para download da classe, traz um exemplo de utilização.

Faça o download do arquivo ‘PHP5Akismet.0.4’ e extrai o conteúdo dentro do diretório do seu website. Apesar dos diversos arquivos que vem junto, você precisa incluir apenas o ‘Akismet.class’ para configurar o código.

Configurando O Akismet

Na página que recebe os comentários, importe o arquivo baixado no passo anterior.



include("caminho/pasta/Akismet.class.php");

Em seguida é instanciada a classe e passados alguns valores básicos.



$akismet = new Akismet('http://www.website.com', 'chave da  API');
$akismet->setCommentAuthor($nome);
$akismet->setCommentAuthorEmail($email);
$akismet->setCommentAuthorURL($website);
$akismet->setCommentContent($comentario);

Na primeira linha é instanciada a classe e passado o endereço do seu website e a chave que você recebeu por e-mail.

Nas linhas seguintes são enviados os valores. Supõe-se que você já tenha capturado e tratado as respectivas variáveis Nome, Email e Comentário do visitante.

Os dados são enviados para os servidores da WordPress e retornam um valor booleano ‘true’ou ‘false’.


if($akismet->isCommentSpam())
{
     echo ‘É spam.’;
}else{
   //grava o comentário
}

Em caso positivo, podemos apresentar uma mensagem na tela ou rodar qualquer código que você preferir. Retornando false, podemos prosseguir com a gravação do comentário e afins.

Está feito.

Conclusão

Além da facilidade de configuração, ao utilizar o Akismet você acaba ajudando a comunidade web também. Pois quanto mais o serviço é utilizado mais robusto fica o combate aos spams.

Be Sociable, Share!

2 Comentários

  1. Adorei, espero encontrar novas dicas. abraços

Participa! Comenta... para Rui Soares