Évaluation sécurisée des chaînes en JavaScript : alternatives à eval()
La fonction eval(), bien que pratique, expose des risques de sécurité potentiels en JavaScript . Lorsqu'il s'agit de chaînes non fiables contenant du code exécutable, il est essentiel de trouver des alternatives plus sûres.
Une option viable consiste à utiliser le constructeur Function(). Ce constructeur nous permet de créer une fonction dynamique à partir d'une chaîne donnée :
function evil(fn) { return new Function('return ' + fn)(); }
En utilisant cette fonction, nous pouvons évaluer une expression mathématique de chaîne sans les risques associés à eval(). Voici un exemple :
const apa = "12/5*9+9.4*2"; console.log(evil(apa)); // Output: 40.4
Cette méthode fournit un moyen sécurisé de calculer les valeurs de chaîne sans recourir à eval(). Il offre une protection accrue contre l'injection de code malveillant, ce qui en fait un choix plus sûr pour gérer les entrées non fiables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!