Node.js · Senior · Frage 27 von 75
Was ist Prototype Pollution?
merge({}, JSON.parse('{"__proto__": {"isAdmin": true}}'));
({}).isAdmin; // true- 1Eingaben setzen Properties an
Object.prototypefür alle Objekte - 2Zu viele Methoden zu einer einzigen Klasse eines Projekts hinzufügen
- 3Ein Speicherleck, das lange Prototypenketten verursachen
Antwort zeigen
Richtige Antwort: Eingaben setzen Properties an Object.prototype für alle Objekte
Erklärung
Unsichere tiefe Merges und Pfad-Setter sind die übliche Ursache. Blockiere die Schlüssel __proto__, constructor und prototype, nutze Object.create(null) oder Map und validiere Eingaben mit einem Schema.