Empêcher le spam d'un futur livre d'or

Snorkie
Invité n'ayant pas de compte PHPfrance

28 août 2007, 10:51

Bonjour,

Je suis en train de faire un p'tit site dynamique et je voulais savoir ce que je pouvais faire contre le spam de son livre d'or. Une personne proche m'a averti de certains problèmes que je pouvais rencontrer sans loggin d'où ce post.

Voici mon bout de code :

if (eregi("http",$_POST["message"])){
echo "mot interdit";//ou autre
}else{
//j'ajoute en base et je redirige...
}

mais je voudrais étendre à plus que http et faire une sorte de liste de mots interdits, mais comment faire ?

Cordialement,

Vot' snorkie

VaN
Mammouth du PHP | 1107 Messages

28 août 2007, 10:56

je ne comprends pas.

Tu veux faire une liste de mots interdits, ou tu veux eviter le spam (postage en chaine par la meme personne) ?

Snorkie
Invité n'ayant pas de compte PHPfrance

28 août 2007, 11:59

Merci pour ta réponse.
Hé bien les 2 sont liés en fait...
Oui, il s'agit d'éviter le spam, url et autres mots du genre v i a g r a...
Snork'

Eléphant du PHP | 216 Messages

28 août 2007, 20:31

Bonjour,

Tu peut aussi utiliser un capte chat qui n'arrête malheureusement pas tout les bots(notamment les capte chat graphiques), sauf pour certains(qui semble être plus efficaces) qui utilise une techniques qui consiste à demander aux utilisateurs de résoudre un problème très simple: 2+9= ??

En espérant t'avoir été utile :D

Cordialement,
Polo ;)
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image

Snorkie
Invité n'ayant pas de compte PHPfrance

29 août 2007, 10:00

Oui, c'est une bonne idée à laquelle je vais réfléchir, mais sinon en attendant je cherche juste à étendre la portée de mon eregi(). J'pensais déclarer un array de mots interdits comme http, www, viagr_a (obligé de l'écrire ainsi car PHP France, eux, ont justement ce que je recherche. Ils repèrent ce mot)...puis de le comparer au contenu du message posté et d'agir en conséquence. Mais suis-je sur la bonne voie ? Y a t-il mieux ? Comment faire concrètement ?

Snorkie

ViPHP
AB
ViPHP | 5818 Messages

29 août 2007, 19:31

Il n'y a pas de méthode standard, mais plusieurs méthodes qui peuvent si besoin se compléter.
Ta méthode peut marcher et au besoin tu étendras le contenu de ton tableau en fonction de son efficacité ou tu la complétera par une autre méthode.

Sinon plutôt que eregi() on conseille d'utiliser preg_match() qui est plus rapide.

Eléphanteau du PHP | 43 Messages

29 août 2007, 20:17

Bonsoir,

Personnellement, pour éviter le spam sur le livre d'or que j'ai sur un de mes sites, j'utilise un petit script trouvé ici, il consiste à demander le résultat d'une opération genre 10+2.
Ensuite, tu peux ajouter un système qui te permet de valider ou non les messages, avant qu'ils soient affichés effectivement, il te faut une table biensûr.
J'en utilise un, et je trouve ça assez pratique.

Si mon message peut aider.

À bientôt.
Modifié en dernier par Clicky le 31 août 2007, 15:10, modifié 2 fois.
Clicky

Snorkie
Invité n'ayant pas de compte PHPfrance

30 août 2007, 10:13

Of course, toute intervention est bonne à prendre.

Je veux que ca reste le plus convivial et le plus transparent possible pour l'internaute.

J'ai assez de billes et points de vue maintenant pour savoir que faire.

Je pense, pour rester dans l'esprit déclarer ci-dessus, fabriquer un tableau en utilisant preg_match.

Si cela ne convient pas, je passerai à la méthode du p'tit calcul ou de l'image à restituer.

Merci à vous tous

Snorkie