Attention à la sécurité des fonctions aléatoires

Vous connaissez surement la fonction PHP rand qui permet de générer une valeur aléatoire. Très pratique mais peut-on l’utiliser dans tous les contextes ?

PHP met à disposition plusieurs fonctions permettant de générer des valeurs aléatoires. Il faut faire très attention au contexte dans lequel ces fonctions sont utilisées.

Vous en utilisez une pour afficher sur votre site une bannière aléatoirement (parmi un catalogue de plusieurs bannières) ? Aucun problème.

En revanche, vous en utilisez une dans un contexte de sécurité ? Il faut alors être très vigilent dans le choix de la fonction. En effet, dans la documentation officielle de la fonction rand on peut lire :

Cette fonction ne génère pas de valeurs sécurisées d’un point de vue cryptographique, et ne doit pas être utilisée dans un contexte de chiffrement.

php.net

Dans le cas de la fonction rand, il est préférable de la remplacer par la fonction random_int lorsque vous l’utilisez dans un contexte de sécurité.

Conclusion : Avant d’utiliser une fonction permettant de générer une valeur aléatoire dans un contexte de sécurité, il est important de bien vérifier (par la documentation de cette fonction), si cet usage est bien approprié.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Étiquettes :