كيفية تجاوز دالة في post-cooked.js.es6 في إضافة؟

بعد التلاعب لمدة يوم، صادفت هذا الجواب.

يبدو أن هذا كان جهدًا ضائعًا وأحتاج إلى اتباع مسار مختلف.
عندما أقوم بتعيين elem.innerHTML إلى <script>alert(1)</script>، فإنه يصبح غير مُشفَّر. (أرى أثناء الكتابة في المحرر أنه سيتم حذفه في المعاينة إذا كتبتُه غير مُشفَّر). هل هذه مشكلة أم أن سياسة أمان المحتوى (CSP) ستوقفها؟
https://meta.discourse.org/t/mitigate-xss-attacks-with-content-security-policy/104243!csp error|690x191
يبدو أن المنشورات التي تتضمن وسوم script كجزء من شرح ما تخلق أيضًا أخطاء CSP. أنا مشوش حقًا الآن. هل أحتاج إلى القلق بشأن ثغرات XSS المخزنة على الإطلاق، أم أن CSP ستحظرها ببساطة؟ في المحرر، أستخدم CKEditor الذي يمنع ثغرات self-XSS. إذا كنت بحاجة إلى القلق بشأنها، يبدو أنني بحاجة إلى إزالة الوسوم غير الآمنة. أنا أفعل فقط

  value = Loofah.fragment(value).scrub!(:escape).to_s

في الوقت الحالي، لكن يبدو أنه لا تأثير له على الإطلاق لأن تعيين elem.innerHTML إلى هذه القيمة سيقوم فقط بإلغاء تشفير كيانات HTML.
تعديل: لقد وجدت أخيرًا مصدر إرباكي: فحص العنصر لن يُظهر لك HTML الحقيقي. إنه يحول كيانات HTML بالفعل.


إذا نقرت على “Edit as HTML” في أداة الفحص، يتضح أن كل شيء على ما يرام في الواقع. كان يجب أن يُوجهني بالفعل إلى هذا الاتجاه رؤية وسوم غير مرئية يتم عرضها.