Et là, blanc total, suivi d'un humble "je ne sais pas", après quoi il ajoute "si vous ne savez pas, ce n'est pas grave, peu de gens savent que l'accès direct aux superglobales tend à être déprécié depuis php 5.3.".
Je vous fais donc partager mon expérience.
Pour ceux qui ne savent pas ou plus (on ne sait jamais), ce qu'est une variable superglobal, voici un excellent tuto ici: http://php.net/manual/fr/language.variables.superglobals.php
L'un des points faibles de php se pose sur la sécurisation des variables transmises par un utilisateur, c'est aussi un passage obligé pour tout développeur à chaque conception d'application, et, parfois un casse-tête qui nous coûte un temps précieux.
Il existe même une pléthore de classes partagées, utilisant des filtres d'échappement de caractères spéciaux et j'en passe.
Oui, depuis php 5.2 me direz-vous, çà date, mais tout le monde ne le sait pas forcément, et j'en faisais parti.
- Valider (FILTER_VALIDATE), s'assurer que la donnée transmise correspond aux critères spécifiés.
- Sécuriser (FILTER_SANITIZE), supprimer les caractères non désirés, appliquer des contraintes spécifiques. retourner l'intégrité des variables superglobales.
<?php $my_string = filter_input(INPUT_POST, ‘my_string’, FILTER_SANITIZE_STRING); ?>
<?php $my_string = filter_input(FILTER_POST, ‘my_string’, FILTER_UNSAFE_RAW); ?>
- Rapidité d'exécution, php sécurise et valide pour vous.
- Uniformisation des méthodes.
- Refactoring simplifié sur des projets à fort turnover.
- Centralisation des processus de sécurisation, validation/non validation.
- Validation multi-critères et personnalisée avec fonctions de callback.
...
Pour plus d'infos, rendez-vous sur la doc http://fr.php.net/filter_input
Aucun commentaire:
Enregistrer un commentaire