salut,
J'utilise souvent la fonction ereg() pour contrôler les paramètres passés en POST ou en GET dans mes formulaires. Or, la plupart du temps, il s'agit simplement d'empêcher l'injection de code SQL dans mes requêtes qui utilisent ces paramètres ou d'empêcher l'utilisation de caractères qui (pourquoi pas ?) feraient planter ma requête (caractères russes par exemple, caractères d'échappement ???) . J'empêche donc le simple ou le double quote selon le cas, j'autorise seulement les caractères utilisés dans la langue française ou proche (j'entend par là pas de caractères russes, japonnais, chinois etc. ). mais est-ce suffisant ?
Voilà ma question :
J'utilise MySQL, quelle expression régulière correspondrait à :
"autoriser tous les caractères SAUF ceux susceptibles de permettre une injection SQL ET SAUF ceux qui seraient inconnus de MySQL et qui pourrait faire planter ma requête".
Comment faîtes-vous ? Pourrais-je me contenter d'un add_slashes() au moment de l'utilisation de mes variables passées en GET ou POST ?
Partager