Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Vous devriez utiliser les fonctions de filtrage PHP, partie 1

15

J’ai parlé de la désinfection des données dans WordPress dans les articles précédents. C’est un sujet qui est important non seulement pour ceux d’entre nous qui travaillent à créer des solutions pour les autres dans WordPress, mais aussi pour ceux qui écrivent du code qui interagira directement avec une base de données via PHP.

Bien sûr, il existe des fonctions WordPress natives pour faciliter ce processus, mais il existe également des fonctions de filtrage PHP intégrées pour vous aider. À savoir filter_varet filter_inputet ce sont des choses que je pense utiles pour les développeurs PHP.

Fonctions de filtrage PHP, Partie 1 : Variables

Le filtrage des variables est effectué par la fonction bien nommée filter_var. La définition officielle est :

Filtre une variable avec un filtre spécifié

Le manuel PHP

La définition elle-même peut sembler un peu circulaire, surtout si vous débutez avec PHP ou avec l’utilisation de fonctions de filtrage. La chose importante à comprendre dans cette définition est ce qu’est réellement un filtre.

Donc, si vous avez l’habitude de travailler avec, disons, des valeurs booléennes, des entiers, des adresses e-mail, etc. (et qui ne l’est pas ?), alors cela a plus de sens, n’est-ce pas ? Autrement dit, si vous devez fournir un certain type de validation autour de ces types de valeurs, cela peut vous aider.

Ce qui est génial, c’est que peu importe ce que vous filtrez, il filter_varreviendra falsechaque fois que le filtre échouera.

Supposons que vous souhaitiez filtrer une adresse e-mail, vous pouvez faire quelque chose comme ceci :

  • filter_var($emailAddress, FILTER_VALIDATE_EMAIL);

Bien sûr, ce n’est pas sans quelques pièges. Par exemple, il ne validera pas les domaines non latins. Plus à ce sujet momentanément.

Quoi qu’il en soit, vous souhaitez peut-être filtrer d’autres types de valeurs :

  • filter_var($url, FILTER_VALIDATE_URL)
  • filter_var('1001', FILTER_VALIDATE_INT)

Et vous pouvez les rendre plus compliqués en fonction de vos besoins. Disons, par exemple, que vous devez déterminer si une adresse IP est publique. Ensuite, vous pouvez utiliser quelque chose de plus élaboré comme ceci :

  • filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)

Le fait est qu’il est important de savoir comment filter_varfonctionne ainsi que quels filtres sont disponibles. C’est vraiment là que l’utilité de cela entre en jeu. À cette fin, je recommande fortement de lire les filtres de validation proposés par PHP.

Enfin, souvenez-vous de la note ci-dessus concernant les domaines non latins avec des adresses e-mail ? Il y a quelques cas comme celui-ci avec certaines fonctionnalités pour lesquelles vous devrez revoir ce que le manuel a à dire concernant certaines URL, domaines, etc. avant de les utiliser.

Dans ces cas, malheureusement, filter_varcela ne fonctionne pas toujours. Au lieu de cela, les expressions régulières peuvent être un remplacement approprié.

Qu’en est-il du filtrage des entrées ?

Si vous avez l’habitude de travailler avec des variables comme $_GETet $_POSTalors il y a une autre fonction de filtrage spécifiquement pour cela.

Et dans le prochain article, je vous expliquerai comment utiliser au mieux ceux en place que beaucoup d’entre nous utilisent traditionnellement.

Source d’enregistrement: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More