Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Programmation.php : Sécuriser un formulaire

Posté par JEAN Lépine (page perso, ) le 23 mai 2005
Bonjour,



Je viens de développer un très classique générateur de formulaires en php sur une base mysql ..... Ce générateur plait bcp et est donc de plus en plus utilisé ! Mais malheureusement je n'ai pas pensé aux petits crétins capables d'écrire du code dans les champs (je ne suis pas trop branché sécurité !) et certains des utilisateurs de mon générateur chrono-FORM me réclamment une routine de protection des champs !!!



Mon chrono-FORM est ici http://chrono.apinc.org/?numero=129(...)



Qqun connaît-il des routines de protextion toutes faites ?



Merci beaucup de votre aide.

> Lire le message (7 commentaires, moyenne: 1,4).  

Vous avez demandé le commentaire #577875.

ereg

Posté par Slainer (Jabber id, page perso, ) le 23/05/2005 à 11:01. (lien). Évalué à 2.

Une bonne solution consiste simplement à tester tous les champs de ton formulaire par des ereg et à générer des messages d'erreurs si un/des champ ne respecte pas.

Ce que je fais généralement c'est que je stocke les champs d'un formulaire dans un tableau associatif où chaque clé est un champ du formulaire relié à un tableau définissant le champ (un booléan pour requis, une regex, etc...).

  • [^]Re: ereg

    Posté par R4f (page perso, ) le 23/05/2005 à 12:23. (lien). Évalué à 2.

    Il est également possible de développer (ça a déja dû être fait mille et une fois) une classe qui permet de «déclarer» tes champs de formulaires avec des types simples, genre :
    - n° téléphone France (10 chiffres)
    - adresse e-mail
    - adresse postale
    - adresse IP
    - URL Web
    - ...

    Et tu boucles sur les champs de ton formulaire en appelant la fonction de validation qui va bien.

    Exemple : PEAR HTML_Quickform http://www.thelinuxconsultancy.co.uk/quickform.php(...)

    Ca a l'air pas mal, avec tout plein de méthodes pour valider les entrées...

    • [^]Re: ereg

      Posté par doublehp (page perso, ) le 23/05/2005 à 13:33. (lien). Évalué à 0.

      un telephone doit etre compose d au moins 6 chiffres, peut etre des espaces, peut etre un plus, mais les chiffres doivent representer plus de 70% des characteres. Il ne peut pas contenire de \ ou /.

      un email doit avoir un @ et un point. Elle est compose d au moins 60% de lettres.

      Une adresse postale ne doit contenire que des letters (et peut etre des - pour les noms de ville/rue composes).

      Une IP ou URL ... c est pas tres dur a filtrer.

      --
      www.doublehp.org
      le site qui sera toujours en construction ...