1.رأس مجموعة الخادم: Content-Security-Policy: default-src https:
لا تبدو هذه مشكلة مع pegjs.
هل تقوم بتحميل البرامج النصية الخاصة بك من مصدر غير آمن (http؟)
يمكنني إعادة إنتاج هذا على بروتوكولات http و https. الأمر كله يتعلق بسياسة الأمن. إذا كانت الشفرة تستخدم وظيفة Eval ، فلن يتم تنفيذها ، وسيمنع المتصفح تنفيذها
لدي حل بديل لذلك ، لكنه ليس آمنًا.
مزيد من التفاصيل حول سياسة الأمان:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
الرابط الخاص بك هو لعناوين http. أنت تتحكم في أي رؤوس ترسلها على الخادم الخاص بك.
نعم ، هذا العنوان مرتبط بالأمان ، ولكن أي تطبيق في 2020 لن يفكر في الأمان. من الشائع استخدام هذا الأسلوب في تطبيقات الويب الحديثة.
لقد بحثت في Google قليلاً ولاحظت أن المكتبات الشعبية قد أجرت هذا التحديث بالفعل.
لذلك ، لا أعتقد أن العديد من التطبيقات ستتجاهل الأمان في المستقبل ، وتختار الأدوات المناسبة التي ستكون متوافقة مع هذا.
Pegjs هو مولد محلل ، وهو نوع من سلالة منفصلة من JS libs ،
كيف تعمل JS داخل القواعد بدون eval
ing ذلك؟
لا أعتقد أن هذا حل جيد لمولد محلل. الأداء مهم جدًا هنا بعد كل شيء.
أفتقد السياق في هذه المشكلة. هل يمكن لأي شخص أن يشير بإصبعه إلى جزء من الكود ذي الصلة؟
أعتقد أنه من المفيد إضافة بديل غير eval
للتوافق مع سياسة أمان المحتوى ؛ سوف نرى في هذا في مرحلة ما قبل 0.12 عن طريق إضافة حزمة أخرى (ربما تسمى dist/peg.csp.js
) عبر ملف إدخال جديد ليتم استهلاكه بواسطة Webpack فقط
ربما لا تجعله webpack فقط. هذه المشكلة ليست خاصة بـ webpack ، و webpack في حالة تراجع سريع لصالح التراكمية والطرود
بصراحة ، لا يوجد سبب محدد لترك eval
في مكانه إذا تم توفير أي بديل. ليس الأمر كما لو كان أسرع بطريقة أو بأخرى ، كما هو مقترح بشكل غريب أعلاه. بل على العكس تماما
لا يجب وضع علامة على هذا not-a-bug
. إنه ، في الواقع ، خطأ شديد.
التعليق الأكثر فائدة
أعتقد أنه من المفيد إضافة بديل غير
eval
للتوافق مع سياسة أمان المحتوى ؛ سوف نرى في هذا في مرحلة ما قبل 0.12 عن طريق إضافة حزمة أخرى (ربما تسمىdist/peg.csp.js
) عبر ملف إدخال جديد ليتم استهلاكه بواسطة Webpack فقط