Page 1 sur 1

Controle des données saisis par les utilisateurs

Posté : 12 avr. 2007, 12:56
par code3
Bonjour tout le monde,

Bon je voulais ouvrir ce topic, je sais pas si c'est déjà fait ou pas, je m'excuse au passage, mais il me semble que je suis un peu perdu avec tous les forums, faite ceci faite cela. Bonjour l'obscurité :?

Alors je voulais savoir comment procéder?

Merci .

Posté : 12 avr. 2007, 13:19
par @rthur
Bonjour,

Et bien les fonctions de bases pour vérifier que les données sont bien remplies sont isset() ou empty()
http://fr.php.net/isset
http://fr.php.net/empty

Après, si tu veux faire un contrôle plus fin, il te faudra utiliser des regex, mais c'est beaucoup + complexe (à part si tu reprends des exemples tout fait bien sûr)
exemple: http://www.expreg.com/lire-mail-source

Posté : 12 avr. 2007, 13:38
par code3
Merci bien @rthur :)

Peut être j'ai pas bien précisé, mais je parle des htmlentities(), strip_tags(), etc...
Car ces données vont être stocké dans la base, donc comment garantir une sécurité relativement bonne. :)

Merci.

Posté : 12 avr. 2007, 13:43
par jojolapine
mysql_real_escape_string() :wink:

Posté : 12 avr. 2007, 14:05
par code3
Merci,

Mais si j'ai une couche qui fait abstraction à la base de données, cet instruction ne fera pas l'affaire, donc il faut faire les tests avant même que je parle du type de la base de données :)

Merci encore une fois :)

Posté : 12 avr. 2007, 14:10
par jojolapine
Si tu as une couche d'abstraction de bases de données, il y a forcément une méthode de classe qui se nomme protect, ou escape, ou assimilé, et qui en fonction de ta bdd, joura avec les fonctions propres à chaque bdd

Posté : 12 avr. 2007, 14:24
par code3
Oui forcément il existe ce genre d'instruction, mais imaginez la galaire pour un code de quelques centaines de lignes 8-) .
Donc il vaut mieux faire les tests dans un niveau plus haut de l'application à commencer par htmlentities().

Posté : 12 avr. 2007, 14:30
par jojolapine
attention en aucun cas, des fonctions tel que htmlentities() ne sont faites pour protéger la moindre donner qui rentre dans un SGDB...
Il y a des fonctions spécifiques à chaque base de données, et ce n'est pas htmlentities() qui les remplacera!
Par ailleur je ne vois pas ce que tu veux dire par galère, dans un code de plusieurs centaines de lignes... où est le problème ?

Posté : 12 avr. 2007, 16:26
par code3
Ok je m'explique.
En gros je veux savoir comment éviter que quelqu'un bypasse l'authentification de mon application en insérant des caractères spéciaux tels que le #, les opératuers logiques... dans le champ login ou mot de passe de l'espace d'authentification.

Posté : 12 avr. 2007, 20:11
par capoeiradance
utilise des conditions...si t condition son bien faite dans ce ka meme si kelkun rentre des caractere speciau pr pouvoir passer le formulaire en piratan sa marchera pas