Rechercher : dans
Par :

PHP, boucle de tests anti-spam

Dernière réponse le 20 sep 2009 à 11:56:19 Mirax, le 20 sep 2009 à 11:40:27 
 Signaler ce message aux modérateurs

Bonjour,

Je cherche à simplifier le code PHP suivant, que j'utilise dans un forum, afin d'éviter l'intrusion de messages de spam. Actuellement, je procède à des tests à la suite, pour voir si des mots-clés "interdits" apparaissent dans les messages postés. Si un test repère un mot-clé considéré comme spam, la variable "$spamhtml" prend alors la valeur "1", ce qui indique alors à mon forum de ne pas enregistrer le message dans la base de données.

J'imagine qu'il doit être possible de simplifier cette succession de tests par une sorte de boucle. Cela réduirait le nombre de lignes de mon code, et me simplifierait l'ajout de nouveaux mots-clés "interdits".

D'avance merci pour votre aide !

Voici un exemple du code PHP que j'utilise, et que je cherche donc à simplifier (boucle ?) :

$codehtml1 = 'viagra';
if (eregi($codehtml1, $message)) {
$spamhtml = '1';
}


$codehtml2 = 'porno video';
if (eregi($codehtml2, $message)) {
$spamhtml = '1';
}


$codehtml3 = 'buy cigarettes online';
if (eregi($codehtml3, $message)) {
$spamhtml = '1';
}

Meilleures réponses pour « PHP, boucle de tests anti spam » dans :
[Free] Activer le filtre anti-spam Voir C'est une fonction peu connue, mais Free propose un anti-spam gratuitement. Il est relativement efficace. Il suffit de l'activer sur votre boite mails. Les mails identifiés comme spam n'arriveront même pas jusque dans votre boite email (ce qui évite...
Lutter contre le spam VoirObjectif des spammeurs Trouver des adresses emails valides Spammer Si possible anonymement Ou peut-être bientôt, légalement Eviter de communiquer son adresse Que proposent les FAI actuellement ? Installer un soft anti-spam Que dit la loi...
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...

1

 le père, le 20 sep 2009 à 11:56:19

Bonjour

Oui c'est possible de faire une boucle.

$mots_interdits= array('viagra','porno video','buy cigarettes online');
foreach ($mots_interdits as $unmot) {
  if (eregi($unmot, $message)) { $spamhtml = '1'; break;} // break pour arrêter recherche au 1er mot trouvé
} // foreach


De là à dire que la méthode est efficace...

Répondre à le père