Formulaire de contact [SPAM]

Eléphant du PHP | 54 Messages

08 janv. 2007, 17:30

Bonjour,

Sur plusieurs de mes sites, j'utilise un formulaire de contact classique (Nom, Prénom, Votre email, Votre Message) pour les visiteurs.

Depuis quelques jours un robot semble s'attaqué à l'un de mes sites, résultat du spam sur mon adresse mail. Ce robot utilise une adresse de domaine valide mais l'utilisateur n'existe pas. Du coup mon hébergeur à momentanément désactiver la fonction mail() :?

Alors je ne sais pas trop quoi faire, j'ai vu qu'il existait une fonction getmxrr() qui vérifier l'existence de l'adresse email mais qui semble assez difficile a mettre en place ou qui n'a pas l'air à 100 % efficace.)
Je pensais autrement intégrer une sorte de système Captcha (mais c'est pas un peu exagéré pour un simple formulaire de contact ?)

Bref que me conseillez vous ?

Mammouth du PHP | 19672 Messages

08 janv. 2007, 18:42

la fonction getmxrr n'est pas compliquée en soi, mais il y a une restriction :
Note : Cette fonction n'est pas disponible sur les machines Windows. Pour la remplacer, essayez la classe PEAR : Net_DNS.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 54 Messages

08 janv. 2007, 18:57

Oui j'avail lu ça, mais comment faire les tests alors si ce n'est pas dispo sur windows sachant que je n'ai pas d autre OS à porter de mains :evil:

Et en terme d'efficacité ? Jai lu beaucoup de cas où ça semblait pas très fiable ...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

08 janv. 2007, 19:41

Tu peux effectivement faire un petit test, et pas si compliqué qu'un captcha.

Sur une inscription de forum j'ai mis "êtes-vous un robot oui/non" avec oui coché par défaut. Plus aucune inscirption automatique.

Un exemple rigolo, qq avait un blog avec "si vous n'êtes pas un robot, écrivez prout dans ce champ texte".

C'est hyper simple à mettre en oeuvre, pas compliqué à utiliser, plus rigolo, et ça marche :)

ViPHP
fab
ViPHP | 2657 Messages

08 janv. 2007, 19:43

tu parles de PEAR là ? si si c'est fiable :) niveau perf ça reste raisonable donc bon je pense que tu n'as pas d'autres solutions :)
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 78 Messages

08 janv. 2007, 20:34

Ou alors tu met en place un systéme d'images dont on doit recopier les chiffres et les lettres.
Cordialement,
winni

Mammouth du PHP | 558 Messages

08 janv. 2007, 21:24

Sur une inscription de forum j'ai mis "êtes-vous un robot oui/non" avec oui coché par défaut. Plus aucune inscirption automatique.
tu peut nous en dire plus
as tu creer un mod phpbb pour cela...

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

08 janv. 2007, 21:59

Un exemple rigolo, qq avait un blog avec "si vous n'êtes pas un robot, écrivez prout dans ce champ texte".
Excellent !
Je vais proposer ça à tous mes clients... :lol:

Eléphant du PHP | 54 Messages

09 janv. 2007, 09:58

oui je suis un peu de l'avis d'albat vis à vis des clients c'est pas génial.

@winni : un système d'image j'en parlais justement (CAPTCHA)

Le simple ajout d'une case à coché ou d'un bouton radio suffirait ?

ViPHP
ViPHP | 3607 Messages

09 janv. 2007, 10:14

essaye ;-)
tu verras bien !

Eléphant du PHP | 54 Messages

09 janv. 2007, 10:33

oui je veux bien essayer

mais il faut que mon hébergeur (Celeonet) considère que j'ai réparé la "faille" et réactive la fonction mail() :?

ViPHP
ViPHP | 3607 Messages

09 janv. 2007, 10:42

bon ben alors si tu veux convaincre ton hébergeur, peut-être qu'il vaudrait mieux que tu mette la méthode CAPTCHA en place ... :-k

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

09 janv. 2007, 12:34

oui je suis un peu de l'avis d'albat vis à vis des clients c'est pas génial.
Tu n'avais pas parlé de clients, ce n'était pas évident.

Bien sûr que l'exemple que j'ai donné n'est pas destiné à être utilisé dans un produit, je ne suis pas idiot... mais sur le principe ça montre qu'il n'y a pas forcément besoin d'aller chercher tèrs loin pour se protéger un minimum.
Le simple ajout d'une case à coché ou d'un bouton radio suffirait ?
Un petit test qui nécessite d'avoir un cerveau pour être passé avec succès suffit généralement. Et c'est moins pénible que les captcha souvent illisibles et qu'il faut recommencer.
Modifié en dernier par ouckileou le 09 janv. 2007, 12:38, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

09 janv. 2007, 12:38

Sur une inscription de forum j'ai mis "êtes-vous un robot oui/non" avec oui coché par défaut. Plus aucune inscirption automatique.
tu peut nous en dire plus
as tu creer un mod phpbb pour cela...
C'est un phpBB effectivement, j'ai modifié le formulaire d'inscription, rajouté un pauvre test dans le script qui traite derrière e tvoilà. Non je n'ai pas créé de mod, c'est vraiment bidon à faire comme modif ;)

Eléphant du PHP | 54 Messages

09 janv. 2007, 12:39

il n'y a pas de mal j'aurais du préciser c'est vrai :)

Au niveau des boutons radio ca m'étonne que le robot ne sache pas en sélectionner un mais bon on verra.

Je viens de rajouter 3 boutons radios (Madame, Mademoiselle, Monsieur) espérons que ca suffira

Merci pour toutes vos réponses en tout cas :D