Node.js · Senior · Frage 11 von 75
Was ist eine typische Ursache dafür, dass ein langsamer regulärer Ausdruck einen Node.js-Server blockiert (ReDoS)?
/^(a+)+$/.test("aaaaaaaaaaaaaaaaaaaaaaaaaaaa!");- 1Reguläre Ausdrücke laufen immer im Thread-Pool
- 2Die Methode
testist veraltet und läuft langsam - 3Verschachtelte Quantoren: katastrophales Backtracking
Antwort zeigen
Richtige Antwort: Verschachtelte Quantoren: katastrophales Backtracking
Erklärung
Da der Regex im Hauptthread läuft, kann eine Anfrage den ganzen Server einfrieren. Vermeide verschachtelte Quantoren, begrenze die Eingabelänge oder nutze eine Engine mit linearer Laufzeit wie RE2.