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
Libérer: 2024-11-26 06:32:12
original
747 Les gens l'ont consulté

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)();
}
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal