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 2

8

Dans le post précédent, j’ai parlé des raisons pour lesquelles l’utilisation des fonctions de filtrage PHP est plus utile que non.

En bref, cela aide à fournir un niveau de validation intégré au langage afin que nous n’ayons pas à réécrire quelque chose. Naturellement, il y a des mises en garde.

Par exemple, si vous devez valider une valeur contenant des caractères non latins, vous devrez faire cavalier seul et implémenter la validation avec peut-être une expression régulière.

Mais si vous utilisez des adresses e-mail, des URL, des numéros, des adresses IP et bien d’autres choses, vous êtes bien placé pour utiliser quelque chose qui existe déjà.

Quoi qu’il en soit, tout ce qui précède concerne toujours le filtrage des variables. Qu’en est-il des entrées, cependant? C’est-à-dire ceux qui proviennent de $_POSTou $_GET. Il est possible d’utiliser une stratégie similaire avec une fonction différente et un jeu de filtres différent.

Mais si vous comprenez les bases présentées dans le dernier post, alors ce post ne sera pas très différent.

Fonctions de filtrage PHP, partie 2: entrées

Le filtrage des entrées est effectué par la filter_inputfonction. La définition de cette fonction spécifique est :

Obtient une variable externe spécifique par son nom et la filtre éventuellement

Le manuel PHP

Et, comme mentionné la dernière fois, cela semble un peu bizarre jusqu’à ce que vous compreniez ce que sont les filtres. Heureusement, nous avons couvert cela dans le post précédent. Et bien que ce post va se concentrer spécifiquement sur POST(et très brièvement GET).

Il existe cependant d’autres filtres. Et ceux-ci incluent :

  • INPUT_COOKIE
  • INPUT_SERVER
  • INPUT_ENV

Quoi qu’il en soit, étant donné que les deux opérations les plus courantes que j’ai tendance à voir dans WordPress incluent POSTet GET, il semble important d’inclure ces deux ici.

Vous devriez utiliser les fonctions de filtrage PHP, partie 2

L’utilisation de ces fonctions est trivialement facile. Supposons que vous ayez une valeur provenant de quelque chose que l’utilisateur a fourni dans un formulaire et qu’il la soumette au serveur à l’aide d’une POSTrequête avec une clé telle que firstname.

Le code pour le vérifier peut ressembler à ceci :

  • filter_input(INPUT_POST, 'firstname');

Ce qui est assez facile à comprendre car il prend simplement la clé, la filtre, puis renvoie une valeur. Et puisqu’il renvoie une valeur, nous pouvons mettre en place une clause de garde avant d’aller de l’avant avec plus de travail :

1if (false === filter_input(INPUT_POST, 'firstname')) { 2  return; 3}

Si tout est vérifié, nous pouvons continuer à faire tout ce que nous devons faire avec les informations de l’utilisateur. Peut-être devons-nous l’associer au message actuel pour une raison quelconque :

1if (false === filter_input(INPUT_POST, 'firstname')) { 2  return; 3} 4  5$firstname = filter_input(INPUT_POST, 'firstname'); 6update_post_meta(get_the_ID(), 'acme-firstname', $firstname); 7  8// Other code you may use...

De plus, vous pouvez sécuriser encore plus les informations grâce à l’utilisation des différents filtres existants. Ceux-ci sont passés comme troisième paramètre à la filter_inputfonction.

Et qu’en est-il GET?

La bonne chose à propos de cette fonction est que, d’une manière générale, les mêmes règles s’appliquent qu’avec POSTexcept au lieu d’utiliser INPUT_POST, vous utiliserez INPUT_GET.

Et ensuite, vous pouvez travailler sur votre code de la manière qui convient le mieux aux besoins de votre projet.

Sécurité, Nonces, etc.

Rappelez-vous, ce n’est pas quelque chose à utiliser à la place de la sécurité. C’est uniquement dans le but de sécuriser les données avant d’en faire quoi que ce soit.

Ne remplacez pas la vérification des valeurs nonce simplement parce que vous vérifiez les données différemment.

Variables et entrées

N’oubliez pas que ces fonctions sont des variables très similaires et que les entrées sont différentes. En d’autres termes, n’essayez pas d’utiliser filter_varlorsque vous travaillez avec des entrées provenant de l’utilisateur ou du navigateur. Utilisez-le chaque fois que vous travaillez avec des variables. Et, de même, utilisez ht e

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