Heim > Web-Frontend > js-Tutorial > Hauptteil

So werten Sie Strings in JavaScript sicher aus: Alternativen zu „eval()'?

Susan Sarandon
Freigeben: 2024-11-26 06:32:12
Original
727 Leute haben es durchsucht

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

Sichere String-Auswertung in JavaScript: Alternativen zu eval()

Die Funktion eval() ist zwar praktisch, birgt aber potenzielle Sicherheitsrisiken in JavaScript . Beim Umgang mit nicht vertrauenswürdigen Zeichenfolgen, die ausführbaren Code enthalten, ist es wichtig, sicherere Alternativen zu finden.

Eine praktikable Option ist die Verwendung des Function()-Konstruktors. Mit diesem Konstruktor können wir eine dynamische Funktion aus einer bestimmten Zeichenfolge erstellen:

function evil(fn) {
  return new Function('return ' + fn)();
}
Nach dem Login kopieren

Mit dieser Funktion können wir einen mathematischen Zeichenfolgenausdruck ohne die mit eval() verbundenen Risiken auswerten. Hier ist ein Beispiel:

const apa = "12/5*9+9.4*2";
console.log(evil(apa)); // Output: 40.4
Nach dem Login kopieren

Diese Methode bietet eine sichere Möglichkeit, Zeichenfolgenwerte zu berechnen, ohne auf eval() zurückgreifen zu müssen. Es bietet einen erhöhten Schutz vor der Einschleusung bösartigen Codes und ist somit eine sicherere Wahl für den Umgang mit nicht vertrauenswürdigen Eingaben.

Das obige ist der detaillierte Inhalt vonSo werten Sie Strings in JavaScript sicher aus: Alternativen zu „eval()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage