الأخبار التكنولوجية والاستعراضات والنصائح!

جوجل توضح البريد الإلكتروني SharedArrayBuffer

ستساعدك المقالة التالية: جوجل توضح البريد الإلكتروني SharedArrayBuffer

أصدر مركز بحث Google توضيحًا بشأن رسالة مربكة أرسلتها Google Search Console الأسبوع الماضي بخصوص مشكلات SharedArrayBuffer. قامت Google أيضًا بتحديث دليلها الإرشادي لتمكين العزلة عبر الأصل.

ما هو SharedArrayBuffer؟

SharedArrayBuffer، بعبارات بسيطة، هو أساليب عمل JavaScript الموجودة خلف الكواليس والتي تساعدهم على إنجاز مهامهم بطريقة فعالة.

بحسب ال وثائق عمال الويب من موزيلا:

“يعد عمال الويب وسيلة بسيطة لمحتوى الويب لتشغيل البرامج النصية في سلاسل المحادثات الخلفية.”

ووفقا لآخر صفحة مطور موزيلا:

“باستخدام SharedArrayBuffer، يمكن لكل من العاملين على الويب، وكلا الخيطين، كتابة البيانات وقراءة البيانات من نفس قطعة الذاكرة.”

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

تشرح صفحة مطور Mozilla أيضًا ما يلي:

“يمنحك ArrayBuffers طريقة للتعامل مع بعض بياناتك يدويًا، على الرغم من أنك تعمل باستخدام JavaScript، الذي يتمتع بإدارة تلقائية للذاكرة.

…في التطبيق النموذجي، يتم الاهتمام بالعمل كله من قبل فرد واحد – وهو الموضوع الرئيسي.

…وفي ظل ظروف معينة، يمكن لـ ArrayBuffers تقليل حجم العمل الذي يجب على الخيط الرئيسي القيام به.

ويستمر في توضيح أنه في بعض الأحيان لا يكون تقسيم العمل كافيًا، وهنا يأتي دور عمال الويب المذكورين أعلاه، حيث يتشاركون نفس الجزء من الذاكرة.

جوجل مارتن سبليت لخصتها على هذا النحو في عام 2017 عندما أصبحت SharedArrayBuffers ميزة قادمة:

“JavaScript عبارة عن نصوص برمجية أحادية الترابط وطويلة الأمد تجعل الصفحة غير مستجيبة

يسمح عمال الويب بتشغيل JavaScript في سلاسل رسائل منفصلة، ​​والتواصل مع سلسلة الرسائل الرئيسية باستخدام الرسائل.

تتسبب الرسائل التي تنقل كمية كبيرة من البيانات في TypedArrays أو ArrayBuffers في تكلفة كبيرة للذاكرة بسبب استنساخ البيانات

…SharedArrayBuffers هي ميزة قادمة، مما يسمح بمشاركة البيانات بين سلاسل الرسائل.

لماذا تلقيت رسالة SharedArrayBuffer

توضح مدونة Google Search Central أن السبب وراء تلقي الناشرين للرسالة “الغامضة” هو وجود شيء ما على صفحات الويب الخاصة بهم وهو استخدام SharedArrayBuffers، وهي خدعة ترميزية لتسريع عمليات JavaScript.

وفقا لجوجل:

“قد يكون الاستخدام بسبب الأطر أو المكتبات أو محتوى الطرف الثالث الآخر المضمن في موقع الويب الخاص بك.”

لماذا يعتبر SharedArrayBuffer (SAB) مشكلة؟

أصبحت SABs مشكلة بعد اكتشاف ثغرات Spectre وMeltdown.

تؤثر هذه الثغرات الأمنية على كافة وحدات معالجة الكمبيوتر (CPUs) وتسمح للمهاجم بقراءة ما هو موجود في الذاكرة. يؤثر الهجوم على جميع أجهزة الكمبيوتر بما في ذلك أجهزة إنترنت الأشياء.

قام Chrome في البداية بتعليق استخدام SABs ولكنه أعاد السماح بها بعد حل بديل أدى بشكل أساسي إلى عزل العمليات.

يغير Chrome وFirefox كيفية التعامل مع SharedArrayBuffers

كان السبب وراء إرسال البريد الإلكتروني هو محاولة لنشر المعلومات حول كيفية تعامل Chrome مع SharedArrayBuffers ولمساعدة الناشرين في التعامل مع العمليات التي من شأنها أن تجعل مواقعهم وزوار مواقعهم أكثر أمانًا.

في أواخر مايو 2021، سيتم إصدار Chrome 91 مع قيود جديدة ستوفر دفاعًا أكثر قوة ضد ثغرات Spectre وMeltdown.

“” هي إشارة إلى الموارد (مثل الصور وملفات CSS وJavaScript) التي تنشأ خارج الموقع.

إذن ما يحدث مع Chrome 91 وما تطلبه Google هو وضع سياسات أمان على الموارد وتأمين ما هو مسموح به وفقًا لسياسات Chrome (وفايرفوكس) لحماية زوار الموقع والناشرين من ثغرات Spectre.

يعد هذا أمرًا جيدًا لزوار الموقع ولكنه قد يكون سيئًا لناشري الموقع الذين يستخدمون كائنات SharedArrayBuffer دون العزل عبر الأصل.

وفقًا لتوضيح Google (بالإشارة إلى الإصدار 91 من Chrome):

“…تم توحيد العزل عبر الأصل كطريقة لتمكين كائن SharedArrayBuffer بأمان. بدءًا من الإصدار 91، المقرر إصداره في أواخر مايو 2021، سيعمل Chrome على بوابة كائن SharedArrayBuffer خلف العزلة عبر الأصل.

…بعد إصدار Chrome 91، لن يعمل كائن SharedArrayBuffer بدون عزل المصادر المشتركة بعد الآن.

ما عليك فعله لإصلاح مشكلة SharedArrayBuffer

هناك مهمتان يجب إنجازهما.

  1. تحديد استخدام SAB على موقع الويب الخاص بك.
  2. إصلاح أو إزالة الوظيفة

تحديد استخدام SAB

توصي Google بهذه الخطوات لتحديد SharedArrayBuffers:

“أمامك خياران:

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

دليل جوجل لعروض العزل عبر المنشأ تعليمات لاستخدام أدوات تطوير Chrome لتحديد استخدام SharedArrayBuffers.

  1. “افتح Chrome DevTools على الصفحة التي تشك في أنها قد تستخدم SharedArrayBuffer.
  2. حدد لوحة وحدة التحكم.
  3. إذا كانت الصفحة تستخدم SharedArrayBuffer، فستظهر الرسالة التالية:
    [Deprecation] سيتطلب SharedArrayBuffer العزلة عبر الأصل اعتبارًا من M91، في مايو 2021 تقريبًا. راجع https://developer.chrome.com/blog/enabling-shared-array-buffer/ لمزيد من التفاصيل. Common-bundle.js:535
  4. يشير اسم الملف ورقم السطر الموجود في نهاية الرسالة (على سبيل المثال، common-bundle.js:535) إلى مصدر SharedArrayBuffer. إذا كانت مكتبة تابعة لجهة خارجية، فاتصل بالمطور لإصلاح المشكلة. إذا تم تنفيذه كجزء من موقع الويب الخاص بك، فاتبع الدليل أدناه لتمكين العزل عبر المصادر.

وصلة: كيفية تمكين العزلة عبر الأصل

الكثير لتستوعبه

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

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

اقتباسات

توضيح رسمي من جوجل:
توضيحات حول رسالة كائن SharedArrayBuffer

مصدر معلومات خلفية رأس الأمان: ScottHelme.co.uk
COEP COOP CORP CORS CORB – هذا كثير من الأشياء الجديدة!

صفحة مطور Mozilla حول ماهية SharedArrayBuffers:
مقدمة كرتونية إلى ArrayBuffers وSharedArrayBuffers

صفحة مطور Google حول تحليل العزلة عبر الأصل
دليل لتحليل العزلة عبر الأصل

صفحة مطور Google حول تمكين العزلة عبر الأصل
كيفية تمكين العزلة عبر الأصل