مكون السمة غير صالح: قيمة "توسيع سياسة أمان المحتوى"

الأعراض: بعد التحديث إلى الإصدار 3.4، ظهرت رسالة “Oops” في المنتدى بأكمله. ومما زاد الأمر سوءًا، بقيت السجلات صامتة تمامًا بشأن هذا الأمر.

كان هناك مكون سمة مع “توسيع سياسة الأمان” بقيمة script-src: 'unsafe-eval' https://redacted.example.com

أدى هذا إلى تعطل المنتدى بأكمله بسبب استثناء تم طرحه في موزع الإجراءات، لأنه كان هناك مسافة في القيمة.

ActionDispatch::ContentSecurityPolicy::InvalidDirectiveError (Invalid Content Security Policy script-src: \"'unsafe-eval' https://redacted.example.com\". Directive values must not contain whitespace
 or semicolons. Please use multiple arguments or other directive methods instead.)

آه، لقد نسيت أهم شيء. الوضع الآمن لم يعمل!!

5 إعجابات

سأبحث في هذا الأمر بشكل أكبر وسأعود إليك. ما هو إصدار Discourse لمنتدى الخاص بك قبل الترقية إلى 3.4؟

إعجاب واحد (1)

كان في 3.3.3.

مرحباً @michaeld، لقد قمت بدمج إصلاح في أحدث نسخة من main باستخدام FIX: invalid CSP directive sources should allow site to boot with valid CSP directives by tyb-talks · Pull Request #31256 · discourse/discourse · GitHub. هذا متاح أيضاً في tests-passed و stable الآن.

هذا التغيير في السلوك في التعامل مع توجيهات CSP نبع من تصحيح أمني تم إعادته في Rails - لقد تطرقت إلى هذا بمزيد من التفصيل في طلب السحب. :slight_smile: سيقوم Discourse الآن بتصفية هذه القيم قبل بناء CSP.

فيما يتعلق بالوضع الآمن، بما أنه يقوم بتعطيل جانب JavaScript فقط، فلن يساعد هنا بما أن هذه البيانات تتم معالجتها من جانب الخادم.

5 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام من آخر رد. لم يعد يُسمح بالردود الجديدة.