JavaScript · Senior · Frage 34 von 75
Warum verbieten Sicherheitsrichtlinien meist eval und new Function?
- 1Sie wurden in ECMAScript 2020 entfernt und werden nicht unterstützt
- 2Sie führen Strings als Code aus - ein Weg zu XSS
- 3Sie funktionieren nur im Strict Mode und machen alte Browser kaputt
Antwort zeigen
Richtige Antwort: Sie führen Strings als Code aus - ein Weg zu XSS
Erklärung
Landen Nutzerdaten im String, führt ein Angreifer eigenen Code aus. CSP blockiert solche Aufrufe standardmäßig. Außerdem behindert eval Optimierungen der Engine. Es gibt fast immer eine Alternative: JSON.parse, eine Funktionstabelle, Function mit Code, der beim Build bekannt ist.