Google توضیحات SharedArrayBuffer را ارائه می دهد

Google Central Search درباره پیامی گیج کننده که هفته گذشته توسط کنسول جستجوی Google درباره مشکلات SharedArrayBuffer ارسال شده بود ، توضیحاتی را صادر کرد. Google همچنین راهنمای خود را برای راهنمای فعال کردن انزوا از مبدا به روز کرده است.

SharedArrayBuffer چیست؟

SharedArrayBuffer ، به زبان ساده ، روش های عملکرد پشت صحنه JavaScript است که به آنها کمک می کند وظایف خود را به روشی کارآمد انجام دهند.

طبق اسناد کارگران وب Mozilla:

“Web Workers ابزاری ساده برای محتوای وب برای اجرای اسکریپت در موضوعات زمینه است.”

و طبق صفحه دیگری از توسعه دهندگان موزیلا:

“با SharedArrayBuffer ، هر دو وب کارگر ، هر دو رشته ، می توانند داده ها را بنویسند و از یک قسمت حافظه بخوانند.”

حافظه از آن جهت مهم است که JavaScript با حافظه مرورگر کار می کند و اگر صفحه به خوبی از پس آن برآید ، می تواند عواقب ناخواسته ای مانند نفخ حافظه را به همراه داشته باشد.

تبلیغات

ادامه مطلب را در زیر بخوانید

صفحه توسعه دهنده موزیلا بیشتر توضیح می دهد:

“ArrayBuffers به ​​شما راهی می دهد تا بتوانید برخی از داده های خود را به صورت دستی مدیریت کنید ، حتی اگر در JavaScript کار می کنید ، که دارای مدیریت خودکار حافظه است.

… در یک برنامه معمولی ، همه کارها توسط یک شخص انجام می شود – موضوع اصلی.

… و تحت شرایط خاص ، ArrayBuffers می تواند مقدار کاری را که رشته اصلی باید انجام دهد کاهش دهد. “

در ادامه توضیح داده می شود که گاهی اوقات تقسیم کار کافی نیست و اینجاست که کارگران وب فوق الذکر وارد عمل می شوند و همان قسمت حافظه را تقسیم می کنند.

مارتین اسپیلت از گوگل در سال 2017 وقتی SharedArrayBuffers یکی از ویژگی های آینده بود ، خلاصه آن را اینگونه بیان کرد:

“جاوا اسکریپت اسکریپت های تک رشته ای است و طولانی مدت صفحه را بی پاسخ می کند

Web Workers اجازه می دهد JavaScript را در بخشهای جداگانه اجرا کنید ، و با استفاده از پیامها با موضوع اصلی ارتباط برقرار کنید.

پیام هایی که حجم زیادی از داده ها را در TypedArrays یا ArrayBuffers منتقل می کنند ، به دلیل کلون شدن داده ها ، باعث افزایش حافظه می شوند.

… SharedArrayBuffers یکی از ویژگی های آینده است که اجازه می دهد داده ها بین رشته ها به اشتراک گذاشته شود. “

تبلیغات

ادامه مطلب را در زیر بخوانید

چرا پیام SharedArrayBuffer را دریافت کردید

وبلاگ جستجوی مرکزی گوگل توضیح می دهد که دلیل آنکه ناشران پیام “مرموز” را دریافت کرده اند به دلیل وجود چیزی در صفحات وب آنها استفاده از SharedArrayBuffers است که یک ترفند رمزگذاری برای سرعت بخشیدن به فرآیندهای JavaScript است.

به گفته گوگل:

“این استفاده ممکن است به دلیل چارچوب ها ، کتابخانه ها یا سایر محتوای شخص ثالث موجود در وب سایت شما باشد.”

چرا SharedArrayBuffer (SAB) یک مشکل است؟

SAB ها پس از کشف آسیب پذیری های Spectre و Meltdown مشکل ساز شدند.

این آسیب پذیری ها بر تمام واحدهای پردازش رایانه (CPU) تأثیر می گذارد و به مهاجم اجازه می دهد آنچه را که در حافظه است بخواند. این حمله همه دستگاههای رایانه ای از جمله دستگاههای اینترنت اشیا را تحت تأثیر قرار می دهد.

Chrome در ابتدا استفاده از SAB را به حالت تعلیق درآورد اما پس از یک راه حل که اساساً فرآیندها را جدا می کند ، دوباره اجازه استفاده از آنها را داد.

Chrome و Firefox نحوه رسیدگی به بافرهای SharedArray را تغییر می دهند

دلیل این ایمیل تلاش برای اطلاع رسانی در مورد نحوه کار کردن Chrome با SharedArrayBuffers و کمک به ناشران برای پردازش هایی است که باعث می شود سایت های آنها و بازدید کنندگان سایت آنها ایمن تر شود.

در اواخر ماه مه 2021 ، Chrome 91 با محدودیت جدیدی ارائه می شود که دفاع محکم تری در برابر آسیب پذیری های Spectre و Meltdown ارائه می دهد.

متقابل”اشاره به منابعی است (مانند تصاویر ، پرونده های CSS و JavaScript) که از خارج از سایت منشا می گیرند.

آنچه در Chrome 91 اتفاق می افتد و آنچه که گوگل به آن نیاز دارد تنظیم سیاست های امنیتی در مورد منابع و در واقع قفل کردن مواردی است که طبق سیاست های Chrome (و Firefox) برای محافظت از بازدید کنندگان و ناشران سایت در برابر آسیب پذیری های Spectre مجاز است.

این برای بازدیدکنندگان سایت خوب است اما برای ناشران سایت که از اشیا Sha SharedArrayBuffer بدون جداسازی ریشه متقابل استفاده می کنند ، می تواند بد باشد.

طبق توضیحات Google (اشاره به Chrome نسخه 91):

“… جداسازی متقابل به عنوان راهی برای فعال کردن ایمن شی SharedArrayBuffer استاندارد شد. با شروع نسخه 91 ، برنامه ریزی شده برای انتشار در اواخر ماه مه سال 2021 ، Chrome شی SharedArrayBuffer را در پشت جداسازی متقابل قرار خواهد داد.

… بعد از انتشار Chrome 91 ، شی SharedArrayBuffer بدون جداسازی ریشه متقابل دیگر کاربردی نخواهد بود. “

تبلیغات

ادامه مطلب را در زیر بخوانید

کاری که باید برای حل شماره SharedArrayBuffer انجام دهید

دو وظیفه وجود دارد که باید انجام شود.

  1. استفاده از SAB را در وب سایت خود شناسایی کنید.
  2. عملکرد را برطرف یا حذف کنید

شناسایی کاربرد SAB

Google این مراحل را برای شناسایی SharedArrayBuffers توصیه می کند:

“شما دو گزینه دارید:

از Chrome DevTools استفاده کنید و صفحات مهم را بازبینی کنید.
(پیشرفته) برای ارسال گزارش های استهلاک به یک نقطه پایانی گزارش ، از API گزارش دهی استفاده کنید.
نحوه تعیین روشهای فوق را در تعیین مکان استفاده از SharedArrayBuffer در وب سایت خود بیاموزید. “

راهنمای Google برای جداسازی از مبدا ، دستورالعمل هایی را برای استفاده از Chrome Dev Tools برای شناسایی استفاده از SharedArrayBuffers ارائه می دهد.

  1. “Chrome DevTools را در صفحه ای که احتمال می دهید از SharedArrayBuffer استفاده می کند باز کنید.
  2. پنل کنسول را انتخاب کنید.
  3. اگر صفحه از SharedArrayBuffer استفاده می کند ، پیام زیر نمایش داده می شود:
    [Deprecation] SharedArrayBuffer will require cross-origin isolation as of M91, around May 2021. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details. common-bundle.js:535
  4. نام پرونده و شماره خط در انتهای پیام (به عنوان مثال ، common-bundle.js: 535) نشان می دهد که SharedArrayBuffer از کجا آمده است. اگر کتابخانه شخص ثالث است ، برای رفع این مشکل با توسعه دهنده تماس بگیرید. اگر به عنوان بخشی از وب سایت شما اجرا شده است ، راهنمای زیر را دنبال کنید تا جداسازی ریشه ای ایجاد شود.

تبلیغات

ادامه مطلب را در زیر بخوانید

ارتباط دادن: چگونه می توان جداسازی متقابل را فعال کرد

چیزهای زیادی برای استفاده

این خیلی چیزها است که باید بپذیرید زیرا یک مقدار قابل توجهی از اصطلاحات و کلمات اختصاری توسعه برای حفظ وجود دارد.

درک صفحات مختلف توسعه دهنده دشوار است زیرا آنها تمایل دارند چندین کلمه اختصاری را در ابتدای 2000 مقاله کلمه ای تعریف کنند ، سپس به طور خلاصه به اختصار بدون هیچ توضیح بیشتر در طول مقاله مراجعه می کنند ، به عنوان اینکه خواننده قادر است به راحتی معنای COEP یا کوپ

استناد

توضیحات رسمی گوگل:
توضیحات درباره پیام شی SharedArrayBuffer

منبع اطلاعات پیش زمینه هدر امنیتی: ScottHelme.co.uk
COEP COOP CORP CORS CORB – CRAP این چیزهای جدیدی است!

صفحه توسعه دهنده Mozilla درباره اینکه SharedArrayBuffers چیست:
معرفی کارتون برای ArrayBuffers و SharedArrayBuffers

صفحه توسعه دهنده Google در مورد تجزیه و تحلیل انزوا از مبدا
راهنمای تجزیه و تحلیل جداسازی متقابل

صفحه توسعه دهنده Google درمورد امکان جداسازی بین مبادی
چگونه می توان جداسازی متقابل را فعال کرد

سئو PBN | خبر های جدید سئو و هک و سرور