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)(); }
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
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!