بعد الترقية، تحديث src السكريبت لـ GTM ضمن سياسة أمن المحتوى

تم تحديث Discourse في 2021-04-08.

ثم لاحظنا أن سياسة أمن المحتوى (content_security_policy) قد تكون بها بعض المشاكل.

GTM لـ script src لسياسة أمن المحتوى

F12 للوحدة التحكم (console):

حدث هذا بعد التحديث إلى أحدث إصدار من Discourse.

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

هل يمكنك عرض رأس CSP الكامل كما تم إرساله؟

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

@supermathie

شكرًا جزيلاً لك على ردك السريع.

لقد حاولت تحميل الرأس من متصفح فايرفوكس، لكنني لست متأكدًا مما إذا كنت قد قمت بذلك بشكل صحيح.

يرجى الاطلاع على لقطة الشاشة المرفقة.

تم التبديل إلى متصفح كروم.

هنا، ربما تتمكن من الحصول على تفاصيل أكثر حول الطلب.

يجب أن تكون الأمور قد تغيرت منذ المنشور الأصلي، حيث أنها الآن تتصرف كما يجب:

○ → curl -I https://www.ossez.com
HTTP/2 200 
…
content-security-policy: base-uri 'none'; object-src 'none'; script-src https://www.ossez.com/logs/ https://www.ossez.com/sidekiq/ https://www.ossez.com/mini-profiler-resources/ https://www.ossez.com/assets/ https://www.ossez.com/brotli_asset/ https://www.ossez.com/extra-locales/ https://www.ossez.com/highlight-js/ https://www.ossez.com/javascripts/ https://www.ossez.com/plugins/ https://www.ossez.com/theme-javascripts/ https://www.ossez.com/svg-sprite/ https://www.googletagmanager.com/gtm.js 'nonce-38d2a45e5e933b869e14465772b2c0de' https: https://tagmanager.google.com https://www.googletagmanager.com 'unsafe-inline' https://analytics.ossez.com/matomo.js https://www.ossez.com/cdn-cgi/apps/head/qk5vBDFy7qBIoPy3q8a6LUoKei8.js https://www.googletagmanager.com/gtm.js; worker-src 'self' https://www.ossez.com/assets/ https://www.ossez.com/brotli_asset/ https://www.ossez.com/javascripts/ https://www.ossez.com/plugins/

تم اقتباس ‘unsafe-inline’ بشكل صحيح الآن، لكن Chrome يتجاهلها:

تم رفض تنفيذ السكربت المضمن لأنه ينتهك توجيه سياسة أمان المحتوى التالي: […] لاحظ أن ‘unsafe-inline’ يتم تجاهلها إذا كانت قيمة تجزئة أو قيمة nonce موجودة في قائمة المصادر.

وأيضًا Firefox:

سياسة أمان المحتوى: تجاهل “‘unsafe-inline’” ضمن script-src أو style-src: تم تحديد مصدر nonce أو مصدر تجزئة

بما أنك حددت قيمة nonce في قائمة CSP: 'nonce-38d2a45e5e933b869e14465772b2c0de'

أرى أنك خلف Cloudflare؛ يرجى ملاحظة أنه يجب عليك تعطيل ميزات Cloudflare المختلفة لأنها افتراضيًا ستعطل عمل Discourse.

4 إعجابات

شكرًا جزيلاً لك.

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