Aller au contenu

[RESOLU]Sécurisé


Messages recommandés

Coucou,

Je voudrais sécurisé les variables $_POST, et j'ai pleins de questions qui me vienne car je ne suis pas certain, est-ce que si j'utilise ce code je n'aurais pas besoin d'utilisé mysql_real_escape_string? :

preg_match("#^[0-9,]+$#", $_POST['tab'])

De même pour celui-ci qui est que pour accepté des lettres et des chiffres?

preg_match("#^[0-9A-Za-z]+$#", $_POST['exemple'] )

Merci

Lien vers le commentaire
Partager sur d’autres sites

Merci RaphAstronome!

Première chose importante à savoir : une regex (= expression régulière) est toujours entourée de caractères spéciaux appelés délimiteurs.http://www.siteduzero.com/tutoriel-3-14608-les-expressions-regulieres-partie-1-2.html

Dans ce regex je ne comprend pas pourquoi il trouve tout les caractères, sauf le 0, alors qu'il s'y trouve:

preg_match("#^[ \'a-zA-Z0-9@._-ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ]+$#", $mot)

Lien vers le commentaire
Partager sur d’autres sites

Chez moi le 0 fonctionne bien.

Par contre deux choses :

* Vu que tu utilises des PCRE, tu devrais plutôt utiliser \w et \s, c'est plus lisible. Et quand on se préoccupe de la sécurité, la lisibilité est un facteur essentiel.

* Je trouve que ta regex est un peu large. Pour de la sécu, l'idéal, c'est de restreindre le nombre de caractères autorisés au maximum (et donc d'en autoriser le minimum).

Lien vers le commentaire
Partager sur d’autres sites

Bien que ce sujet soit tag comme résolu, je tiens à préciser que traiter les variables _GET et _POST pour sécuriser un script est la plus mauvaise chose à faire.

Cela ne doit en aucun cas se substituer à la fonction MySQL prévue à cet effet, qui elle sera capable de gérer tous les cas particuliers.

Doubler les sécurités n'ont aucun intérêt, hormis celui de ralentir l'exécution.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...