"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني تحليل JSON \"Relaxed\" بأمان دون استخدام `eval`؟

كيف يمكنني تحليل JSON \"Relaxed\" بأمان دون استخدام `eval`؟

تم النشر بتاريخ 2024-11-07
تصفح:170

How Can I Safely Parse \

تحليل JSON "المريح" بدون تقييم محفوف بالمخاطر

يتطلب JSON، وهو تنسيق تبادل بيانات مستخدم على نطاق واسع، بناء جملة صارم مع المفاتيح المقتبسة. ومع ذلك، قد تواجه بعض التطبيقات JSON "المريحة" مع مفاتيح غير مقتبسة. لا يُنصح بتحليل مثل هذه البيانات باستخدام التقييم بسبب المخاطر الأمنية.

تجنب التقييم الشرير

أحد بدائل التقييم هو النهج العادي القائم على التعبير الذي يقوم بتطهير JSON قبل التحليل. . تقوم هذه الطريقة بفحص سلسلة JSON واستبدال أي مفاتيح غير مقتبسة بمفاتيح مقتبسة، مما يضمن الامتثال لبناء جملة JSON القياسي دون المساس بالأمان.

مثال للتنفيذ

لتنفيذ هذا الأسلوب، اتبع الخطوات التالية:

var badJson = "{muh: 2}";

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

// Parse the sanitized JSON using JSON.parse
var obj = JSON.parse(correctJson);

الاستنتاج

يسمح استخدام التعبيرات العادية لتطهير JSON المريح بالتحليل السلس مع تجنب المخاطر الأمنية المحتملة المرتبطة بالتقييم.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3