[تراجع] تعطّل تضمين iframe مع السماح بنطاق src المسموح

مرحباً، لقد أضفت https://www.tickcounter.com إلى allowed_iframes الخاصة بي، لكن هذا النص البرمجي لا يزال لا يظهر:

<div style="left:0; width:100%; height:0; position:relative; padding-bottom:25%; margin:0 auto">
<iframe src="https://www.tickcounter.com/widget/countdown/5847336" style="top:0; left:0; width:100%; height:100%; position:absolute; border:0; overflow:hidden" title="My countdown"></iframe>
</div>

لا يوجد شيء في سجلات الأخطاء على حد علمي.

لقد فشل أيضًا في تضمين إطار iframe مختلف من نطاق مصدر مختلف سمحت به.

نفس نوع إطار iframe المضمن بالضبط من نفس نطاق المصدر نجح في المرة الأخيرة التي جربته فيها، ربما قبل 6 أشهر أو سنة. الآن أنا على Discourse v3.3.1 +5 (فرع مستقر).

في أحدث إصدار من الفرع tests-passed، يتم تضمين iframe بدون مشاكل. لاحظ أن سمات style و title التي قمت بتعيينها سيتم تجريدها بواسطة Discourse. يمكنك تعيين سمات width و height مع ذلك. على سبيل المثال:

<iframe src="https://www.tickcounter.com/widget/countdown/5847336" width="100%"></iframe>

ماذا ترى عندما تنتقل إلى المنشور ثم تفتح علامة التبويب “elements” في أدوات المطور في متصفحك؟

ماذا عن إذا فتحت علامة التبويب “console” في أدوات المطور؟ هل هناك أي أخطاء؟

:thinking: هممم. يبدو أن هذا يعمل كما هو متوقع بالنسبة لي أيضًا.

admin - all site settings - allowed iframes:

previewer:

cooked post:

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

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

<div> class="regular contents"><div> class="cooked"></div class="cooked"></div class="regular contents"> <section class="post-menu-area clearfix"><nav class="post-controls expanded">

هممم هناك بعض الأخطاء:

فشل في تحميل المورد: net::ERR_CONNECTION_REFUSED
beacon.min.js:1

ولكن يبدو أن هذه قائمة سوداء لنظام أسماء النطاقات أستخدمها. عندما أتصل عبر VPN لا توجد أخطاء. ويبدو أكثر من مجرد مصادفة أن مستخدمًا آخر بجهاز كمبيوتر وشبكة مختلفين تمامًا قد أبلغني عن هذه المشكلة نفسها في الأصل.

حسنًا، يعرض لي Firefox رسالة وحدة تحكم أخرى:

تم توفير ملف تعريف ارتباط مقسم أو وصول إلى التخزين لـ "https://www.tickcounter.com/widget/countdown/4471981" لأنه تم تحميله في سياق طرف ثالث وتم تمكين التقسيم الديناميكي للحالة.
[[اعرف المزيد]](https://developer.mozilla.org/en-US/docs/Web/Privacy/Storage_Access_Policy/Errors/CookiePartitionedForeign)

يجب أن أذكر أيضًا أنني لصقت كود iframe في ملف HTML ثابت هيكلي وفتحته في المتصفح، وتم تحميل iframe بشكل صحيح.

حسنًا، كان هذا الإطار المضمن (iframe) يعمل لديك من قبل… هل تستخدم Cloudflare بالصدفة؟ إذا كان الأمر كذلك، فربما يمكنك إلقاء نظرة ومعرفة ما إذا كان تعطيل ميزة “speed brain” سيحدث فرقًا؟ (إذا كانت ممكّنة) أعلم أنها ميزة جديدة نسبيًا.

إعجابَين (2)

مرحباً، لا، أنا لا أستخدم Cloudflare.

إعجابَين (2)

نعم، يمكنني جعل iframe يعمل. هناك شيء ما يمنعه في منتداك.

[اقتباس=“Lilly، المشاركة: 8، الموضوع: 327852”]
شيء ما يعيقه في منتداك
[/اقتباس]

همم، نعم هذا ما يبدو عليه. ولكن ألا يفترض أن يكون لدى Discourse خطأ في /logs/؟

أنا لا أقوم بتشغيل أي شيء يمكنني التفكير فيه على الخادم من شأنه أن يمنع ذلك. كنت أستخدم نظام أسماء النطاقات (DNS) الخاص بمزود الاستضافة في /etc/resolv.conf الخاص بي، وحاولت تغييره إلى 8.8.8.8 دون أي تغيير في هذه المشكلة.

فقط إذا كان يسبب خطأ. قد يكون هناك شيء ما يعيقها كمسألة وظيفية سليمة. تخميني هو محاولة معرفة ما إذا كان/ما الذي تغير في الوقت الذي توقف فيه هذا عن العمل. أتساءل عما إذا كان تغيير سياسة أمان المحتوى قد أثر عليه.

يبدو أنك تقول إنك تستخدم قائمة حظر DNS وأنها تسبب مشاكل، لذا لا تستخدمها؟

إعجابَين (2)

هل أضفت

أو
https://www.tickcounter.com/ إلى إعدادات iframes المسموح بها؟

3 إعجابات

إنها خدمة DNS تحظر النطاقات ذات السمعة السيئة. ولكن هذه ليست المشكلة لأن 1) عندما أتصل عبر VPN، فإنها تستخدم DNS مختلف وتستمر هذه المشكلة، و 2) المستخدم الذي أبلغني بهذه المشكلة يستخدم إعدادًا مختلفًا تمامًا، و 3) تكوين DNS مخصص لشبكتي المحلية فقط وليس لخادم Discourse الذي يفشل في إنشاء HTML المناسب من جانب الخادم، و 4) يقوم ملف HTML هذا بتحميل الإطار المضمن بشكل صحيح:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta name="description" content="Webpage description goes here" />
  <meta charset="utf-8">
  <title>Change_me</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="author" content="">
</head>

<body>

<div style="left:0; width:100%; height:0; position:relative; padding-bottom:25%; margin:0 auto">
<iframe src="https://www.tickcounter.com/widget/countdown/5847336" style="top:0; left:0; width:100%; height:100%; position:absolute; border:0; overflow:hidden" title="My countdown"></iframe>
</div>

</body>
</html>

يا إلهي، هذا هو، لقد كان ينقصه الشرطة المائلة النهائية /
شكراً جزيلاً!

لقد تغير شيء ما في Discourse، لأنني أضفت https://www.tickcounter.com في المرة الأخيرة التي جربت فيها ذلك وفي ذلك الوقت نجحت. في رأيي، إما أن منطق التعبير العادي الذي يستخدمه أو وصف الإعداد يحتاج إلى تعديل، لأنه يقول:

قائمة ببادئات نطاقات src للإطارات المضمنة التي يمكن لـ Discourse السماح بها بأمان في المشاركات

عندما أفكر في “بادئة نطاق”، أفكر في اسم نطاق و/أو مجال فرعي، وكلاهما لا يتضمن /. أو إذا كان من المفترض أن يستخدم منطقًا أكثر دقة لعناوين URL المعقدة للإطارات المضمنة، فيجب أن يقول شيئًا مثل:

قائمة ببادئات عناوين URL للإطارات المضمنة التي يمكن لـ Discourse السماح بها بأمان في المشاركات

3 إعجابات

عند إضافة الرابط، يجب أن يعرض لك رسالة خطأ أسفل الحقل تفيد بأنك بحاجة إلى شرطة مائلة أخرى

3 إعجابات

تتمثل المشكلة في الروابط التي تمت إضافتها قبل أكثر من شهرين (قبل دمج إصلاح الأمان)، في ذلك الوقت لم تتلق رسالة خطأ وحتى الروابط الافتراضية لم تحتوي على شرطة مائلة ثالثة ‘/’.
هذا هو ثاني موضوع دعم على الأقل بسبب ذلك

3 إعجابات

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

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

هل من الممكن التحقق من المدخلات الحالية وإخطار المسؤولين بالروابط التي لم تعد تعمل؟

3 إعجابات

بالنسبة لي، أعتقد أن أكبر مصدر للارتباك هو حقيقة أنه يسمى “مجال” (domain) عندما يكون في الواقع عنوان URL.

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.