Edição de Setembro

... revista mensal de programação Open Source

Uma edição repleta de artigos inovadores, redigidos por profissionais, com especial detaque em PHP e PHP-GTK !
  Artigos :
- Design Patterns
- Cross Site Request
- Optimização de código
- Web Services
- Manuel Lemos em entrevista
-
Parceiros :
- Yahoo
- DRI
- Adianti
- PHPClasses
A Revista PHP é distribuida por universidades, instituições e empresas
Solicite-nos informação para publicidade a preços reduzidos !


Artigo 53 / 58

Como prevenir envio de SPAM via formulário


Tags :
prevenir SPAM com PHP, spam fighter, avoid spamming with PHP


Para quem tem que fazer a gestão de um grande número de utilizadores , como é o caso da Revista PHP, o SPAM enviado por formulários pode constituir uma enorme dor de cabeça.
Afim de evitar o envio de SPAM criei esta função que é de muita utilidade na hora de utilizadores sem escrúpulos enviarem as suas mensagens.

Espero que tenha utilidade,e se tiverem alguma ideia para tornar a função mais robusta não hesitem em comentar.


 


<?php

// uma vulgar mensagem de SPAM enviada via formulário
$comm '
<a href="http://www.bsd-network.org/facts-of-viagra.html">facts of viagra</a> 
<a href="http://www.gglfpc.com/dating-servicesin-pa.html">dating servicesin pa</a>
<a href="http://www.jeantones.com/iphone-ring-ringtone.html">iphone ring ringtone</a>'
;

// declaração do array que contém as tags para filtragem
$banidas = array("viagra","ringtone","lottery","drug","dating");

     
/* função que realiza o filtro de SPAM
      o parâmetro $ban contém a array de critérios, e 
      o parâmetro $msg é a mensagem enviado pelo
      utilizador. Repare que o parâmetro $msg pode
      ser a variável enviada por método POST*/
     
function spam_filter ($ban$msg){
     
     
// percorre todo o texto
     
foreach ($ban as $lixo){
             
// se encontra uma tag inválida
            
if(preg_match("/$lixo/",$msg)){
            
// é spam ... devolve falso
              
return false;
              }
          }
          
// ok
         
return true;  
     }
     
     
     
// Como usar a função
    
if(!spam_filter($ban$msg)){
    echo 
"<script>alert('Erro')</script>";
    }


?> 

por dia às horas

Comentários
Nome
Email
Comentário

+=
Não existem comentários para este artigo

Links patrocinados

Sponsors

Revista PHP Edição online
 Estão online 7 utilizadores !
38.107.191.116

Artigos publicados online

  • em breve
  • Publicidade
  • eXTReMe Tracker

Promove-te

A Revista PHP, está a receber propostas para edição em edições seguintes. Os teus artigos serão revistos por uma equipa profissional, e publicados de acordo com o grau de profissionalismo. A revista tem um ISSN associado, o que significa que os artigos aquí publicados serão de interesse ciêntifico, podendo ser utilizados em trabalhos de pesquisa tecnologica desde que citada a fonte !