الموقع الإلكتروني نفسه المخطط

يتطوّر تعريف "الموقع الإلكتروني نفسه" ليشمل مخطّط URL، لذا تُحتسب الروابط بين إصدارَي HTTP وHTTPS من الموقع الإلكتروني الآن كطلبات واردة من عدة مواقع إلكترونية. يمكنك الترقية إلى HTTPS تلقائيًا لتجنُّب المشاكل حيثما أمكن، أو مواصلة القراءة لمعرفة تفاصيل قيم سمة SameSite المطلوبة.

Steven Bingler
Steven Bingler

تعدّل Schemeful Same-Site تعريف الموقع الإلكتروني (على الويب) من مجرد النطاق القابل للتسجيل إلى المخطط + النطاق القابل للتسجيل. يمكنك العثور على مزيد من التفاصيل والأمثلة في مقالة التعرّف على مفهومَي "الموقع الإلكتروني نفسه" و "المصدر نفسه".

والخبر السار هو أنّه إذا كان موقعك الإلكتروني قد تمت ترقيته بالكامل إلى HTTPS، لن تحتاج إلى اتخاذ أي إجراء. لن يطرأ أي تغيير عليك.

إذا لم تكن قد أكملت ترقية موقعك الإلكتروني بعد، يجب أن تكون هذه الخطوة هي الأولوية. ومع ذلك، إذا كانت هناك حالات ينتقل فيها زوّار موقعك الإلكتروني بين HTTP وHTTPS، سيتم توضيح بعض هذه السيناريوهات الشائعة وسلوك ملف تعريف الارتباط SameSite المرتبط بها في وقت لاحق من هذه المقالة.

يمكنك تفعيل هذه التغييرات لاختبارها في كلّ من Chrome وFirefox.

  • بدءًا من الإصدار 86 من Chrome، فعِّل about://flags/#schemeful-same-site. يمكنك تتبُّع مستوى التقدّم في صفحة "حالة Chrome".
  • في Firefox 79، اضبط network.cookie.sameSite.schemeful على true من خلال about:config. تتبُّع مستوى التقدّم باستخدام مشكلة Bugzilla

أحد الأسباب الرئيسية لتغيير الإعداد التلقائي لملفات تعريف الارتباط إلى SameSite=Lax هو الحماية من تزوير الطلبات من موقع إلكتروني مختلف. ومع ذلك، لا تزال الزيارات غير الآمنة على HTTP تتيح للمهاجمين على الشبكة التلاعب بملفات تعريف الارتباط التي سيتم استخدامها بعد ذلك على إصدار HTTPS الآمن من الموقع الإلكتروني. يوفّر إنشاء هذا الحدّ الإضافي بين المخططات على مستوى المواقع الإلكترونية المختلفة حماية إضافية من هذه الهجمات.

السيناريوهات الشائعة التي تتضمّن مخططات متعددة

في السابق، كان التنقّل بين إصدارات الموقع الإلكتروني التي تستخدم بروتوكولات مختلفة (على سبيل المثال، الانتقال من http://site.example إلى https://site.example) يسمح بإرسال ملفات تعريف الارتباط SameSite=Strict. ويتم الآن التعامل مع هذا الإجراء على أنّه تنقّل بين المواقع الإلكترونية، ما يعني أنّه سيتم حظر ملفات تعريف الارتباط SameSite=Strict.

عملية تنقّل بين المخططات يتم تشغيلها من خلال اتّباع رابط على إصدار HTTP غير الآمن من موقع إلكتروني إلى إصدار HTTPS الآمن تم حظر ملفات تعريف الارتباط التي تحمل العلامة SameSite=Strict، وتم السماح بملفات تعريف الارتباط التي تحمل العلامة SameSite=Lax وSameSite=None; Secure.
التنقّل بين المخططات من HTTP إلى HTTPS
HTTP → HTTPS HTTPS → HTTP
SameSite=Strict ⛔ محظور ⛔ محظور
SameSite=Lax ✓ مسموح به ✓ مسموح به
SameSite=None;Secure ✓ مسموح به ⛔ محظور

جارٍ تحميل الموارد الفرعية

يجب اعتبار أي تغييرات تجريها هنا حلاً مؤقتًا فقط إلى أن تتمكّن من الترقية إلى HTTPS الكامل.

تشمل أمثلة الموارد الفرعية الصور وإطارات iframe وطلبات الشبكة التي يتم إجراؤها باستخدام XHR أو Fetch.

في السابق، كان تحميل مورد فرعي من نطاق آخر على صفحة ما يسمح بإرسال ملفات تعريف الارتباط SameSite=Strict أو SameSite=Lax أو ضبطها. سيتم الآن التعامل مع هذا النوع من ملفات تعريف الارتباط بالطريقة نفسها التي يتم التعامل بها مع أي مورد فرعي آخر تابع لجهة خارجية أو على مواقع إلكترونية مختلفة، ما يعني أنّه سيتم حظر أي ملفات تعريف ارتباط SameSite=Strict أو SameSite=Lax.

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

مورد فرعي متعدد البروتوكولات ينتج عن تضمين مورد من إصدار HTTPS الآمن للموقع الإلكتروني في إصدار HTTP غير الآمن يتم حظر ملفات تعريف الارتباط التي تم ضبطها على SameSite=Strict وSameSite=Lax، ويُسمح بملفات تعريف الارتباط التي تم ضبطها على SameSite=None; Secure.
صفحة HTTP تتضمّن موردًا فرعيًا من مخطط آخر عبر HTTPS
HTTP → HTTPS HTTPS → HTTP
SameSite=Strict ⛔ محظور ⛔ محظور
SameSite=Lax ⛔ محظور ⛔ محظور
SameSite=None;Secure ✓ مسموح به ⛔ محظور

إرسال نموذج

في السابق، كان النشر بين إصدارات مختلفة من الموقع الإلكتروني يسمح بإرسال ملفات تعريف الارتباط التي تم ضبطها باستخدام SameSite=Lax أو SameSite=Strict. يتم الآن التعامل مع هذا الطلب على أنّه طلب POST من موقع إلكتروني مختلف، ولا يمكن إرسال سوى ملفات تعريف الارتباط SameSite=None. قد تواجه هذا السيناريو على المواقع الإلكترونية التي تعرض الإصدار غير الآمن تلقائيًا، ولكنها ترقّي المستخدمين إلى الإصدار الآمن عند إرسال نموذج تسجيل الدخول أو نموذج إتمام الدفع.

كما هو الحال مع الموارد الفرعية، إذا كان الطلب من سياق آمن (مثل HTTPS) إلى سياق غير آمن (مثل HTTP)، سيتم حظر جميع ملفات تعريف الارتباط في هذه الطلبات لأنّ ملفات تعريف الارتباط التابعة لجهات خارجية أو على مواقع إلكترونية مختلفة تتطلّب Secure.

إرسال نموذج عبر مخططات مختلفة نتيجة إرسال نموذج من إصدار HTTP غير الآمن من الموقع الإلكتروني إلى إصدار HTTPS الآمن يتم حظر ملفات تعريف الارتباط التي تم ضبطها على SameSite=Strict وSameSite=Lax، ويُسمح بملفات تعريف الارتباط التي تم ضبطها على SameSite=None; Secure.
إرسال نموذج من HTTP إلى HTTPS عبر مخططات مختلفة
HTTP → HTTPS HTTPS → HTTP
SameSite=Strict ⛔ محظور ⛔ محظور
SameSite=Lax ⛔ محظور ⛔ محظور
SameSite=None;Secure ✓ مسموح به ⛔ محظور

كيف يمكنني اختبار موقعي الإلكتروني؟

تتوفّر أدوات المطوّرين والرسائل في Chrome وFirefox.

اعتبارًا من الإصدار 86 من Chrome، ستتضمّن علامة التبويب "مشكلة" في أدوات مطوّري البرامج المشاكل المتعلّقة بميزة Same-Site المتعددة المخطّطات. قد تظهر المشاكل التالية مميّزة في موقعك الإلكتروني.

مشاكل التنقّل:

  • "الانتقال بالكامل إلى HTTPS لمواصلة إرسال ملفات تعريف الارتباط في الطلبات من الموقع نفسه": تحذير من أنّه سيتم حظر ملف تعريف الارتباط في إصدار مستقبلي من Chrome.
  • "انتقِل بالكامل إلى HTTPS لإرسال ملفات تعريف الارتباط في الطلبات المُرسَلة من الموقع الإلكتروني نفسه"—تحذير يشير إلى أنّه تم حظر ملف تعريف الارتباط.

مشاكل تحميل الموارد الفرعية:

  • "انتقِل بالكامل إلى HTTPS لمواصلة إرسال ملفات تعريف الارتباط إلى الموارد الفرعية من الموقع الإلكتروني نفسه" أو "انتقِل بالكامل إلى HTTPS لمواصلة السماح للموارد الفرعية من الموقع الإلكتروني نفسه بضبط ملفات تعريف الارتباط": تحذيرات تشير إلى أنّه سيتم حظر ملف تعريف الارتباط في إصدار مستقبلي من Chrome.
  • "انتقِل بالكامل إلى HTTPS لإرسال ملفات تعريف الارتباط إلى الموارد الفرعية من الموقع نفسه" أو "انتقِل بالكامل إلى HTTPS للسماح للموارد الفرعية من الموقع نفسه بضبط ملفات تعريف الارتباط": تحذيرات تفيد بأنّه تم حظر ملف تعريف الارتباط. يمكن أن يظهر التحذير الأخير أيضًا عند نشر نموذج.

تتوفّر تفاصيل إضافية في نصائح حول الاختبار وتصحيح الأخطاء في Schemeful Same-Site.

بدءًا من الإصدار 79 من Firefox، وعند ضبط network.cookie.sameSite.schemeful على true من خلال about:config، ستعرض وحدة التحكّم رسالة بشأن المشاكل المتعلّقة بـ Schemeful Same-Site. قد يظهر ما يلي على موقعك الإلكتروني:

  • "سيتم قريبًا التعامل مع ملف تعريف الارتباط cookie_name على أنّه ملف تعريف ارتباط على عدة مواقع إلكترونية مقارنةً بـ http://site.example/ لأنّ المخطط لا يتطابق."
  • "تمت معالجة ملف تعريف الارتباط cookie_name على أنّه تابع لموقع إلكتروني آخر غير http://site.example/ لأنّ المخطط لا يتطابق."
  • تقدّم

الأسئلة الشائعة

موقعي الإلكتروني متاح بالكامل على HTTPS، فلماذا تظهر لي مشاكل في "أدوات المطوّرين" في المتصفّح؟

من المحتمل أنّ بعض الروابط والموارد الفرعية لا تزال تشير إلى عناوين URL غير آمنة.

إحدى طرق حلّ هذه المشكلة هي استخدام الأمان المشدَّد لنقل البيانات باستخدام بروتوكول HTTP (HSTS) والتوجيه includeSubDomain. باستخدام HSTS مع includeSubDomain، سيستخدم المتصفّح تلقائيًا الإصدار الآمن من الصفحة حتى إذا تضمّنت إحدى صفحاتك رابطًا غير آمن عن طريق الخطأ.

ماذا لو تعذّر عليّ الترقية إلى HTTPS؟

مع أنّنا ننصحك بشدة بترقية موقعك الإلكتروني بالكامل إلى HTTPS لحماية المستخدمين، إذا لم تتمكّن من إجراء ذلك بنفسك، نقترح عليك التواصل مع مقدّم خدمة الاستضافة لمعرفة ما إذا كان بإمكانه توفير هذا الخيار. إذا كنت تستضيف موقعك الإلكتروني بنفسك، توفّر Let's Encrypt عددًا من الأدوات لتثبيت شهادة وتحديد إعداداتها. يمكنك أيضًا البحث عن إمكانية نقل موقعك الإلكتروني إلى خادم وكيل أو شبكة توصيل محتوى (CDN) أخرى يمكنها توفير اتصال HTTPS.

إذا لم يكن ذلك ممكنًا، حاوِل تخفيف SameSite الحماية على ملفات تعريف الارتباط المتأثرة.

  • في الحالات التي يتم فيها حظر ملفات تعريف الارتباط SameSite=Strict فقط، يمكنك خفض مستوى الحماية إلى Lax.
  • في الحالات التي يتم فيها حظر ملفات تعريف الارتباط Strict وLax ويتم إرسال ملفات تعريف الارتباط إلى عنوان URL آمن (أو ضبطها منه)، يمكنك خفض مستوى الحماية إلى None.
    • لن ينجح هذا الحلّ البديل إذا كان عنوان URL الذي ترسل إليه ملفات تعريف الارتباط (أو الذي يتم ضبطها منه) غير آمن. ويرجع ذلك إلى أنّ SameSite=None تتطلّب السمة Secure في ملفات تعريف الارتباط، ما يعني أنّه قد لا يتم إرسال ملفات تعريف الارتباط هذه أو ضبطها عبر اتصال غير آمن. في هذه الحالة، لن تتمكّن من الوصول إلى ملف تعريف الارتباط هذا إلى أن تتم ترقية موقعك الإلكتروني إلى HTTPS.
    • يُرجى العِلم أنّ هذا الإجراء مؤقت فقط، إذ سيتم في النهاية إيقاف استخدام ملفات تعريف الارتباط الخارجية نهائيًا.

كيف يؤثّر ذلك في ملفات تعريف الارتباط إذا لم أحدّد السمة SameSite؟

ويتم التعامل مع ملفات تعريف الارتباط التي لا تتضمّن السمة SameSite كما لو كانت تتضمّن SameSite=Lax، وينطبق السلوك نفسه على هذه الملفات. يُرجى العِلم أنّ الاستثناء المؤقت للطُرق غير الآمنة لا يزال ساريًا، ويمكنك الاطّلاع على الأسئلة الشائعة حول التخفيف من تأثير Lax + POST في Chromium SameSite للحصول على مزيد من المعلومات.

كيف تتأثر WebSockets؟

سيظل يتم اعتبار اتصالات WebSocket على أنّها من الموقع الإلكتروني نفسه إذا كانت تتضمّن مستوى الأمان نفسه الذي تتضمّنه الصفحة.

Same-site:

  • wss:// اتصال من https://
  • ws:// اتصال من http://

على مواقع إلكترونية متعدّدة:

  • wss:// اتصال من http://
  • ws:// اتصال من https://