Page 1 sur 1

Pb de spam avec un formulaire

Posté : 29 sept. 2008, 22:48
par tybmhi
Bonjour à tous,

Je viens de finir mon premier site et j'ai déjà un spammer qui pourri mon site. Il passe par un formulaire présent sur toute mes pages.

Je voudrais faire en sorte que le formulaire ne soit pas envoyé s'il contient du code html.
Voilà ce qu'on m'a conseillé mais ca ne marche pas.

Code : Tout sélectionner

$message = nl2br(htmlentities(htmlspecialchars($_POST['message']))); // De même pour le message $string = '$message'; $badString = 'http://' ;// Le mauvais mot if((strpos($string, $badString) === FALSE)){ echo "<SCRIPT language='Javascript'> <!-- alert('Votre message à bien été envoyé !'); // --> </SCRIPT>"; } else{ echo "<SCRIPT language='Javascript'> <!-- alert('Pas d'adresse web, merci !'); // --> </SCRIPT>"; }
Le formulaire est quand même envoyé malgré la présence du mot "http://" dans le textarea ($message).

Posté : 29 sept. 2008, 23:26
par @rthur
Bonjour,

A première vue, je vois deux erreurs:
1) l'ordre des paramètre de la fonction strpos(): http://fr.php.net/strpos
2) l'initialisation de la variable $string avec des guillemets simple qui empèche d'affecter ce que tu veux y affecter.
(par ailleurs, même si ce n'est pas bloquant, appeler une variable "string" est quand même un peu douteux...)

Posté : 30 sept. 2008, 00:09
par _alexmyself
le mieux c'est de generer un code sous forme d'image, ou meme une simple chaine de caractères a recopier.