Maison >interface Web >js tutoriel >Comment évaluer en toute sécurité des chaînes en JavaScript : alternatives à « eval() » ?

Comment évaluer en toute sécurité des chaînes en JavaScript : alternatives à « eval() » ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-26 06:32:12815parcourir

How to Safely Evaluate Strings in JavaScript: Alternatives to `eval()`?

É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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn