Page 1 sur 1

Petits malins dans mes formulaires

Posté : 25 juil. 2008, 16:49
par Tim
Bonjour. Je suis presque débutant en php. J'ai néanmoins réussi à créer un formulaire (on arrête de rire !) qui renvoie des infos par mail au webmaster. Le soucis, c'est que j'ai régulièrement des données farfelues avec des url de sites commerciaux basés à l'étranger. Comment faire pour éviter que ces personnes (ou leur logiciels, moteurs, etc) trouvent mes pages de formulaires ?
Merci de votre aide.

Re: Petits malins dans mes formulaires

Posté : 25 juil. 2008, 20:19
par chrislabricole
Comment faire pour éviter que ces personnes
Ben... c'est pas des personnes, c'est des robots...

Regarde ça ;)

Securiser le fichier dans un dossier htacces

Posté : 28 juil. 2008, 23:41
par charly74
La réponse est simple:

1) tu crées un dossier que tu baptises comme tu veux.
2) tu pose ton formulaire dedans
3) tu mets un fichier texte .htacces et un fichier texte .htpassword
tu trouvera cela sur le net avec beaucoup d'exemple.

Ensuite quiquonque voudra arriver sur cette url devra d'abord taper un mot de passe que tu auras défini.

Re: Securiser le fichier dans un dossier htacces

Posté : 29 juil. 2008, 09:59
par Victor BRITO
Ensuite quiquonque voudra arriver sur cette url devra d'abord taper un mot de passe que tu auras défini.
Encore faut-il que l'utilisateur le sache. :roll:

Quant à la solution du captcha en image, à trop vouloir être sophistiquée, elle finit par devenir de moins en moins accessible. Si un captcha doit être utilisé, autant privilégier un captcha textuel, posant des questions du type "Quelle est la couleur du cheval blanc d'Henri IV ?" ou "Combien font 3 + 5 ? (réponse en toutes lettres)".

Une autre piste consisterait à vérifier, lors de la validation du formulaire, que les données renseignées dans les champs correspondent bien à celles auxquelles l'on s'attend (par exemple, s'il s'agit de renseigner un code postal en France, vérifier qu'on a bien 5 chiffres) : si ce n'est pas le cas, on génère un message d'erreur comme quoi certains champs ne sont pas renseignés en bonne et due forme.

Si tu as un champ qui doit renseigner une URL, tu peux en vérifier la validité syntaxique grâce à la fonction filter_var() (si tu es sous PHP 5.2) et même vérifier qu'elle ne fait pas partie d'une "liste noire", que tu peux constituer en t'aidant de listes noires existantes, comme celle de Chongqed.

Posté : 29 juil. 2008, 10:24
par Sékiltoyai
Ou la solution triviale du champ fake :
Un champ texte masqué que tu nommes 'post', s'il est rempli, c'est un spammeur, et un champ texte normal que tu nommes 'spam'. Les utilisateurs rempliront le champ 'spam', les spammeurs le champ 'post'...