Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie kann ich „entspanntes' JSON sicher analysieren, ohne „eval' zu verwenden?

Mary-Kate Olsen
Freigeben: 2024-10-30 14:08:56
Original
727 Leute haben es durchsucht

How Can I Safely Parse

Parsen von „entspanntem“ JSON ohne riskante Auswertung

JSON, ein weit verbreitetes Datenaustauschformat, erfordert eine strikte Syntax mit Schlüsseln in Anführungszeichen. Bei bestimmten Anwendungen kann es jedoch zu „entspanntem“ JSON mit Schlüsseln ohne Anführungszeichen kommen. Vom Parsen solcher Daten mithilfe von eval wird aufgrund von Sicherheitsrisiken abgeraten.

Böses Eval vermeiden

Eine Alternative zu eval ist ein auf regulären Ausdrücken basierender Ansatz, der den JSON vor dem Parsen bereinigt . Diese Methode scannt die JSON-Zeichenfolge und ersetzt alle nicht in Anführungszeichen gesetzten Schlüssel durch in Anführungszeichen gesetzte Schlüssel, um die Einhaltung der Standard-JSON-Syntax sicherzustellen, ohne die Sicherheit zu beeinträchtigen.

Beispielimplementierung

Um diesen Ansatz zu implementieren, Befolgen Sie diese Schritte:

<code class="javascript">var badJson = "{muh: 2}";

// Sanitize the JSON using regular expression replace
var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_]+)(['"])?:/g, '"": ');

// Parse the sanitized JSON using JSON.parse
var obj = JSON.parse(correctJson);</code>
Nach dem Login kopieren

Fazit

Die Verwendung regulärer Ausdrücke zur Bereinigung von entspanntem JSON ermöglicht eine nahtlose Analyse und vermeidet gleichzeitig die potenziellen Sicherheitsrisiken, die mit der Auswertung verbunden sind.

Das obige ist der detaillierte Inhalt vonWie kann ich „entspanntes' JSON sicher analysieren, ohne „eval' zu verwenden?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!