إصلاح المحتوى المختلط

جو إل فان بيرغن
جو إل فان بيرغن

وتمثّل إتاحة استخدام بروتوكول HTTPS في موقعك الإلكتروني خطوة مهمة لحماية موقعك الإلكتروني ومستخدميه من الهجوم، إلا أنّ المحتوى المختلط يمكن أن يجعل هذه الحماية عديمة الفائدة. تحظر المتصفِّحات المحتوى المختلط غير الآمن بشكل متزايد، كما هو موضَّح في مقالة ما المقصود بالمحتوى المختلط؟

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

العثور على المحتوى المختلَط من خلال الانتقال إلى موقعك الإلكتروني

عند زيارة صفحة HTTPS في Google Chrome، ينبهك المتصفح بالمحتوى المختلط كأخطاء وتحذيرات في وحدة تحكم JavaScript.

في القسم ما هو المحتوى المختلط؟، يمكنك العثور على عدد من الأمثلة ومعرفة كيفية الإبلاغ عن المشاكل في "أدوات مطوري البرامج في Chrome".

سيعرِض مثال المحتوى المختلَط السلبي التحذيرات التالية. إذا تمكّن المتصفّح من العثور على المحتوى على عنوان URL خاص بـ https، تتم ترقيته تلقائيًا، ثم يعرض رسالة.

"أدوات مطوري البرامج في Chrome" تعرض التحذيرات التي تظهر عند رصد محتوى مختلط وترقيته

يتم حظر المحتوى المختلَط النشط ويعرض تحذيرًا.

"أدوات مطوري البرامج في Chrome" تعرض التحذيرات التي تظهر عند حظر المحتوى المختلَط النشط

إذا عثرت على تحذيرات مشابهة بشأن عناوين URL التي تتضمّن http:// على موقعك الإلكتروني، عليك معالجتها في مصدر الموقع الإلكتروني. من المفيد إنشاء قائمة بعناوين URL هذه، بالإضافة إلى الصفحة التي عثرت عليها، لاستخدامها عند إصلاحها.

البحث عن محتوى مختلط في موقعك الإلكتروني

يمكنك البحث عن المحتوى المختلط مباشرةً في رمز المصدر. ابحث عن http:// في المصدر وابحث عن العلامات التي تتضمّن سمات عنوان URL الذي يستخدم HTTP. يُرجى العِلم أنّ إدراج http:// في السمة href لعلامات الارتساء (<a>) لا يُعدّ في الغالب مشكلة مرتبطة بالمحتوى المختلط، وستتمّ مناقشة بعض الاستثناءات البارزة لاحقًا.

إذا تم نشر موقعك الإلكتروني باستخدام نظام إدارة المحتوى، من الممكن أن يتم إدراج روابط تؤدي إلى عناوين URL غير آمنة عند نشر الصفحات. على سبيل المثال، يمكن تضمين الصور مع عنوان URL كامل بدلاً من مسار نسبي. يجب العثور على هذه المشاكل وحلّها في محتوى نظام إدارة المحتوى.

إصلاح المحتوى المختلَط

بعد العثور على محتوى مختلط في مصدر موقعك الإلكتروني، يمكنك اتّباع الخطوات التالية لحلّ المشكلة.

إذا تلقّيت رسالة في وحدة التحكّم تفيد بأنّه تمت ترقية طلب المورد تلقائيًا من HTTP إلى HTTPS، يمكنك تغيير عنوان URL لـ http:// الخاص بالمورد في الرمز إلى https:// بأمان. يمكنك أيضًا التحقّق لمعرفة ما إذا كان المرجع متاحًا بشكل آمن من خلال تغيير http:// إلى https:// في شريط عناوين URL بالمتصفّح ومحاولة فتح عنوان URL في علامة تبويب المتصفّح.

إذا لم يكن المورد متاحًا من خلال https://، يمكنك اتّباع أحد الخيارات التالية:

  • ضمِّن المورد من مضيف مختلف، في حال توفّره.
  • يمكنك تنزيل المحتوى واستضافته على موقعك الإلكتروني مباشرةً، إذا كان مسموحًا لك ذلك قانونيًا.
  • استبعاد المورد من موقعك الإلكتروني تمامًا

بعد حل المشكلة، اعرض الصفحة التي عثرت فيها على الخطأ في الأصل وتحقق من أن الخطأ لم يعد يظهر.

توخّي الحذر من الاستخدام غير العادي للعلامات

يجب توخّي الحذر من الاستخدام غير العادي للعلامات على موقعك الإلكتروني. على سبيل المثال، لا تؤدّي عناوين URL لعلامات الارتساء (<a>) إلى أخطاء في المحتوى المختلط، لأنّها تتسبّب في انتقال المتصفّح إلى صفحة جديدة. هذا يعني أنها لا تحتاج عادةً إلى إصلاح. مع ذلك، تلغي بعض النصوص البرمجية لمعرض الصور وظيفة العلامة <a> وتحمِّل مورد HTTP الذي تحدّده السمة href إلى عرض مبسّط على الصفحة، ما يؤدي إلى حدوث مشكلة في المحتوى المختلَط.

التعامل مع المحتوى المختلَط على نطاق واسع

إنّ الخطوات اليدوية المذكورة أعلاه تناسب المواقع الإلكترونية الأصغر حجمًا، ولكن قد يكون من الصعب تتبُّع كل المحتوى الذي يتم تحميله مع المواقع الإلكترونية الكبيرة أو تلك التي تضم العديد من فِرق التطوير المنفصلة. للمساعدة في هذه المهمة، يمكنك استخدام سياسة أمان المحتوى لتوجيه المتصفح إلى إشعارك بالمحتوى المختلط والتأكد من ألا تقوم صفحاتك على الإطلاق بتحميل موارد غير آمنة بشكل غير متوقع.

سياسة أمان المحتوى

سياسة أمان المحتوى (CSP) هي ميزة متصفح متعددة الأغراض يمكنك استخدامها لإدارة المحتوى المختلط على نطاق واسع. يمكن استخدام آلية إعداد تقارير سياسة المحتوى (CSP) لتتبُّع المحتوى المختلط على موقعك الإلكتروني، وتقديم سياسات تنفيذية لحماية المستخدمين عن طريق ترقية المحتوى المختلَط أو حظره.

يمكنك تفعيل هذه الميزات لإحدى الصفحات من خلال تضمين العنوان Content-Security-Policy أو Content-Security-Policy-Report-Only في الاستجابة المُرسَلة من الخادم. بالإضافة إلى ذلك، يمكنك ضبط Content-Security-Policyليس Content-Security-Policy-Report-Only) باستخدام علامة <meta> في القسم <head> من صفحتك.

العثور على المحتوى المختلَط من خلال سياسة أمان المحتوى

يمكنك استخدام سياسة أمان المحتوى لجمع تقارير عن المحتوى المختلط على موقعك الإلكتروني. لتفعيل هذه الميزة، عليك ضبط التوجيه Content-Security-Policy-Report-Only من خلال إضافته كعنوان استجابة لموقعك الإلكتروني.

عنوان الاستجابة:

Content-Security-Policy-Report-Only: default-src https: 'unsafe-inline' 'unsafe-eval'; report-uri https://example.com/reportingEndpoint

عندما يزور أحد المستخدمين صفحة على موقعك الإلكتروني، يرسل المتصفّح إلى https://example.com/reportingEndpoint تقارير بتنسيق JSON بشأن أي محتوى ينتهك سياسة أمان المحتوى. في هذه الحالة، يتم إرسال تقرير في كل مرة يتم فيها تحميل مورد فرعي على HTTP. وتتضمّن هذه التقارير عنوان URL للصفحة التي حدث فيها انتهاك السياسة، وعنوان URL للمصدر الفرعي الذي انتهك السياسة. في حال ضبط نقطة نهاية إعداد التقارير لتسجيل هذه التقارير، يمكنك تتبُّع المحتوى المختلط على موقعك الإلكتروني بدون الانتقال إلى كل صفحة بنفسك.

التنبيهان لذلك هما:

  • على المستخدمين زيارة صفحتك في متصفح يفهم عنوان سياسة أمان المحتوى (CSP). وينطبق هذا الأمر على معظم المتصفحات الحديثة.
  • لن تحصل على تقارير إلا للصفحات التي زارها المستخدمون. لذلك إذا كانت لديك صفحات لا تتلقى عددًا كبيرًا من الزيارات، قد يستغرق الأمر بعض الوقت قبل أن تحصل على تقارير لموقعك بالكامل.

يقدّم دليل سياسة أمان المحتوى مزيدًا من المعلومات ومثالاً على نقطة النهاية.

بدائل إعداد التقارير باستخدام سياسة أمان المحتوى (CSP)

إذا كانت منصة مثل Blogger تستضيف موقعك الإلكتروني، قد لا تتمكّن من تعديل العناوين وإضافة سياسة أمان محتوى (CSP). يمكن بدلاً من ذلك استخدام زاحف الموقع الإلكتروني للعثور على المشاكل في موقعك الإلكتروني، مثل HTTPSChecker أو فحص المحتوى المختلط.

ترقية الطلبات غير الآمنة

التوافق مع المتصفح

  • 44
  • 17
  • 48
  • 10.1

المصدر

بدأت المتصفّحات في ترقية وحظر الطلبات غير الآمنة. يمكنك استخدام توجيهات سياسة أمان المحتوى (CSP) لفرض ترقية مواد العرض هذه أو حظرها تلقائيًا.

يوجّه توجيه سياسة CSP upgrade-insecure-requests إلى المتصفِّح ترقية عناوين URL غير الآمنة قبل إجراء طلبات الشبكة.

على سبيل المثال، إذا كانت صفحة تحتوي على علامة صورة مع عنوان URL يستخدم HTTP، مثل <img src="http://example.com/image.jpg">.

بدلاً من ذلك، ينشئ المتصفّح طلبًا آمنًا في الصفحة https://example.com/image.jpg، ما يؤدي إلى حفظ المستخدم من المحتوى المختلَط.

ويمكنك تفعيل هذا الإجراء إما عن طريق إرسال عنوان Content-Security-Policy باستخدام هذا التوجيه:

Content-Security-Policy: upgrade-insecure-requests

أو من خلال تضمين التوجيه نفسه في قسم <head> الخاص بالمستند باستخدام عنصر <meta>:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

وكما هي الحال في الترقية التلقائية للمتصفِّح، إذا لم يكن المورد متاحًا عبر HTTPS، سيتعذّر تنفيذ الطلب الذي تمت ترقيته ولن يتم تحميل المورد. فهذا يحافظ على أمان صفحتك. يتجاوز توجيه upgrade-insecure-requests عملية ترقية المتصفّح التلقائية، ويحاول ترقية طلبات الترقية التي لا يفعلها المتصفّح حاليًا.

يتدرج التوجيه upgrade-insecure-requests في مستندات <iframe> لضمان حماية الصفحة بأكملها.