
Artigo 53 / 58
Como prevenir envio de SPAM via formulário
prevenir SPAM com PHP, spam fighter, avoid spamming with PHP
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>";
}
?>
Não existem comentários para este artigo 
Estão online 7 utilizadores !