انتشار کروم 93


گوگل مرورگر وب Chrome 93 را منتشر کرد. در عین حال ، نسخه پایدار پروژه رایگان Chromium ، که اساس Chrome است ، در دسترس است. مرورگر Chrome با استفاده از آرم های Google ، وجود سیستم ارسال اعلان ها در صورت خرابی ، ماژول های پخش محتوای ویدئویی محافظت شده (DRM) ، سیستمی برای نصب خودکار به روزرسانی ها و انتقال پارامترهای RLZ هنگام جستجو متمایز می شود. نسخه بعدی Chrome 94 در 21 سپتامبر برنامه ریزی شده است (توسعه به چرخه انتشار 4 هفته ای منتقل شده است).

تغییرات عمده در Chrome 93:

  • طراحی بلوک اطلاعات صفحه برای پشتیبانی از بلوک های تو در تو مدرن شده است و لیست های کشویی با حقوق دسترسی با دکمه های رادیویی جایگزین شده اند. لیست ها اطمینان حاصل می کنند که مهمترین اطلاعات ابتدا نمایش داده می شوند. تغییر برای همه کاربران فعال نیست ، می توانید از تنظیمات برای فعال سازی استفاده کنید
    "chrome: // flags / # page-info-version-2-desktop".

  • برای درصد کمی از کاربران ، به عنوان یک آزمایش ، نشانگر اتصال ایمن در نوار آدرس با نمادی خنثی تر و بدون تفسیر دوگانه جایگزین شده است (قفل با "V" جایگزین شده است). برای اتصالات بدون رمزگذاری ، نشانگر "ایمن نیست" همچنان نمایش داده می شود. به عنوان دلیل جایگزینی نشانگر ، ذکر شده است که بسیاری از کاربران نشانگر قفل را با این واقعیت مرتبط می دانند که می توان به محتوای سایت اعتماد کرد و آن را به عنوان نشانه ای از رمزگذاری اتصال درک نمی کنند. طبق نظرسنجی گوگل ، تنها 11 درصد از کاربران معنی نماد قفل را درک می کنند.

  • در لیست برگه هایی که اخیراً بسته شده اند ، می توانید محتویات گروه های بسته زبانه ها را نمایش دهید (قبلاً ، لیست به سادگی نام گروه را بدون جزئیات محتوا نشان می داد) با قابلیت بازگشت هر دو گروه و زبانه های جداگانه از گروه به طور همزمان. این ویژگی برای همه کاربران فعال نیست ، بنابراین ممکن است برای فعال کردن آن نیاز به تغییر تنظیمات "chrome: // flags / # tab-restore-sub-menus" داشته باشید.

  • New DefaultJavaScriptJitSetting ، JavaScriptJitAllowedForSites و
    JavaScriptJitBlockedForSites ، که به شما امکان می دهد حالت بدون JIT را کنترل کنید ، که هنگام اجرای JavaScript (فقط با استفاده از مترجم Ignition) کامپایل JIT را غیرفعال می کند و تخصیص حافظه اجرایی در حین اجرای کد را ممنوع می کند. غیرفعال کردن JIT می تواند برای بهبود امنیت برنامه های کاربردی تحت وب خطرناک به قیمت کاهش عملکرد اجرایی جاوا اسکریپت تا حدود 17 مفید باشد.
    قابل ذکر است که مایکروسافت حتی فراتر رفت و یک حالت آزمایشی "Super Duper Secure" را در مرورگر Edge اجرا کرد ، که به کاربر اجازه می دهد JIT را غیرفعال کرده و مکانیزم های حفاظت سخت افزاری CET (Controlflow-Enforcement Technology) ، ACG (Arbitrary Code Guard) و CFG (Control Flow Guard) برای فرآیندهایی که محتوای وب را پردازش می کنند. اگر آزمایش موفقیت آمیز باشد ، می توان منتظر انتقال آن به ترکیب اصلی Chrome بود.

  • در صفحه برگه جدید ، لیستی از درخواست ترین اسناد ذخیره شده در Google Drive نمایش داده می شود. محتویات لیست مربوط به بخش اولویت در drive.google.com است. برای کنترل نمایش محتوای Google Drive ، می توانید از تنظیمات "chrome: // flags / # ntp-modules" و "chrome: // flags / # ntp-drive-module" استفاده کنید.

  • کارتهای اطلاعاتی جدیدی برای صفحه برگه جدید پیشنهاد شده است تا به شما در یافتن مطالب اخیراً مشاهده شده و اطلاعات مرتبط کمک کند. نقشه ها به گونه ای طراحی شده اند که کار با اطلاعات قطع شده را آسان تر کنند ، به عنوان مثال ، نقشه ها به شما کمک می کنند دستور العملی را پیدا کنید که اخیراً در شبکه پیدا شده است ، اما پس از بستن صفحه ، یا انتخاب خرید در فروشگاه ها ، گم شده است. به عنوان یک آزمایش ، دو کارت جدید به کاربران پیشنهاد می شود: "دستور العمل ها" (chrome: // flags / # ntp-recipe-task-module) برای جستجوی دستور العمل ها و نمایش دستورهای مشاهده شده اخیر. "خرید" (chrome: // flags / # ntp-chrome-cart-module) برای یادآوری کالاهای انتخاب شده در فروشگاه های آنلاین.
  • پشتیبانی اختیاری از نوار جستجوی پیوسته (chrome: // flags / # search-berdewam) در نسخه Android اضافه شد تا نتایج جستجوی اخیر Google قابل رویت باشد (این نوار پس از حرکت به سایر صفحات همچنان به نمایش نتایج می پردازد).

  • یک حالت تجربی مبادله نقل قول (chrome: // flags / # webnotes-stylize) به نسخه Android اضافه شده است ، که به شما امکان می دهد قطعه صفحه انتخاب شده را در قالب نقل قول ذخیره کرده و آن را با سایر کاربران به اشتراک بگذارید.
  • هنگام ارسال اضافات جدید یا به روزرسانی های نسخه در فروشگاه وب Chrome ، تأیید صحت دو مرحله ای الزامی است.
  • گزینه ای برای ذخیره حساب کاربران Google ارائه شده است
    اطلاعات پرداخت در حساب Google شما

  • در حالت ناشناس ، اگر گزینه پاک کردن داده های ناوبری فعال باشد ، یک گفتگوی تأیید جدید اجرا شده است ، و توضیح می دهد که پاک کردن داده ها منجر به بسته شدن پنجره و خاتمه همه جلسات در حالت ناشناس می شود.
  • به دلیل ناسازگاری های فاش شده با سیستم عامل برخی از دستگاهها ، پشتیبانی از روش جدید توافقنامه کلیدی اضافه شده در Chrome 91 ، مقاوم در برابر نیروی بی رحم بر روی کامپیوترهای کوانتومی ، بر اساس استفاده از افزونه CECPQ2 (ترکیبی بیضوی -Curve و Post-Quantum 2 در TLSv1.3) ، ترکیب مکانیسم کلاسیک مبادله کلید X25519 با یک طرح HRSS بر اساس الگوریتم NTRU Prime ، توسعه یافته برای سیستم های رمزنگاری پس کوانتومی.
  • پورت های 989 (ftps-data) و 990 (ftps) به تعداد پورت های شبکه ممنوعه اضافه شده اند تا حملات ALPACA را مسدود کنند. پیش از این ، پورت های 69 ، 137 ، 161 ، 554 ، 1719 ، 1720 ، 1723 ، 5060 ، 5061 ، 6566 و 10080 به منظور محافظت در برابر حملات لغزشی NAT مسدود شده بودند.
  • TLS پشتیبانی از رمزهای 3DES را کاهش داده است. به طور خاص ، مجموعه رمز TLS_RSA_WITH_3DES_EDE_CBC_SHA ، که مستعد حمله Sweet32 است ، حذف شده است.
  • پشتیبانی از توزیع اوبونتو 16.04 متوقف شد.
  • توانایی استفاده از API WebOTP بین دستگاه های مختلف متصل از طریق یک حساب Google مشترک را ارائه می دهد. WebOTP به یک برنامه وب اجازه می دهد تا کدهای تأیید یکبار ارسال شده از طریق SMS را بخواند. تغییر پیشنهادی امکان دریافت کد تأیید را در دستگاه تلفن همراه دارای Chrome برای Android و اعمال آن بر روی سیستم دسکتاپ فراهم می کند.
  • API User-Agent Client Hints برای جایگزینی سرصفحه User-Agent تمدید شده است. نکات مشتری-نماینده مشتری به شما امکان می دهد ارسال داده های انتخابی را بر روی پارامترهای خاص مرورگر و سیستم (نسخه ، پلت فرم و غیره) فقط پس از درخواست سرور سازماندهی کنید. کاربر به نوبه خود می تواند تعیین کند که چه اطلاعاتی می تواند در اختیار صاحبان سایت قرار گیرد. هنگام استفاده از نکات مشتری-عامل عامل ، شناسه مرورگر بدون درخواست صریح منتقل نمی شود و به طور پیش فرض فقط پارامترهای اساسی نشان داده شده است ، که انجام شناسایی غیرفعال را دشوار می کند.

    نسخه جدید از پارامتر Sec-CH-UA-Bitness پشتیبانی می کند تا داده های بیتس پلتفرم را برگرداند ، که می تواند برای ارائه باینری های بهینه استفاده شود. به طور پیش فرض ، پارامتر Sec-CH-UA-Platform با داده های کلی پلتفرم ارسال می شود. مقدار UADataValues ​​هنگام فراخوانی getHighEntropyValues ​​() بازگشت داده می شود ، به طور پیش فرض ، بازگشت پارامترهای عمومی را در صورت عدم امکان بازگشت نسخه دقیق اجرا می کند. به شی
    NavigatorUAData متد toJSON را اضافه کرد که اجازه می دهد از ساختارهایی مانند JSON.stringify (navigator.userAgentData) استفاده کنید.

  • قابلیت بسته بندی منابع در بسته های Web Bundle ، برای بارگیری کارآمدتر تعداد زیادی از فایل های مرتبط (سبک های CSS ، جاوا اسکریپت ، تصاویر ، iframes) ، به طور پیش فرض تثبیت شده و ارائه شده است. از جمله کمبودهای موجود در پشتیبانی بسته های موجود برای فایل های جاوا اسکریپت (بسته وب) که Web Bundle سعی می کند آنها را برطرف کند: بسته خود می تواند در حافظه پنهان HTTP قرار گیرد ، اما قسمتهای تشکیل دهنده آن را حل نمی کند. کامپایل و اجرا فقط پس از بارگیری کامل بسته می تواند آغاز شود. منابع اضافی مانند CSS و تصاویر باید به عنوان رشته های جاوا اسکریپت کدگذاری شوند که منجر به افزایش اندازه و مرحله تجزیه دیگر می شود.
  • API تشخیص هواپیما WebXR را فعال کرد ، که اطلاعاتی در مورد سطوح مسطح در محیط سه بعدی مجازی ارائه می دهد. API مشخص شده امکان پردازش داده های دریافتی از طریق تماس با MediaDevices.getUserMedia () را بدون استفاده زیاد از منابع ، با استفاده از پیاده سازی های خود از الگوریتم های بینایی ماشین فراهم می کند. به یاد بیاورید که WebXR API به شما امکان می دهد کار را با کلاس های مختلف دستگاه های واقعیت مجازی ، از کلاه ایمنی سه بعدی ثابت گرفته تا راه حل های مبتنی بر دستگاه های تلفن همراه متحد کنید.
  • چندین API جدید در Origin Trials اضافه شده اند (ویژگی های آزمایشی که نیاز به فعال سازی جداگانه دارند). Origin Trial به معنای توانایی کار با API مشخص شده از برنامه های بارگیری شده از localhost یا 127.0.0.1 یا پس از ثبت نام و دریافت یک توکن خاص است که برای مدت محدودی برای یک سایت خاص معتبر است.
    • API قرار دادن پنجره چند صفحه ای پیشنهاد شده است که به شما امکان می دهد پنجره ها را روی هر صفحه نمایش متصل به سیستم فعلی قرار دهید ، همچنین موقعیت پنجره را ذخیره کرده و در صورت لزوم ، پنجره را به حالت تمام صفحه گسترش دهید. به عنوان مثال ، با استفاده از API مشخص شده ، یک برنامه وب برای نمایش ارائه می تواند نمایش اسلایدها را در یک صفحه سازماندهی کند و یادداشتی را برای مجری در صفحه دیگر نمایش دهد.
    • پشتیبانی از پارامتر "بدون اعتبار" برای غیرفعال کردن انتقال اطلاعات معتبر مانند کوکی ها و گواهی های مشتری اضافه شد.
    • برای برنامه های وب مستقل (PWA ، Progressive Web Apps) که پردازش محتوای پنجره را انجام می دهند و ورودی را کنترل می کنند ، یک روکش با کنترل های پنجره مانند منطقه با عنوان و دکمه های گسترش / کوچک سازی پنجره ارائه می شود. روکش ، ناحیه قابل ویرایش را گسترش می دهد و کل پنجره را می پوشاند و به شما امکان می دهد عناصر خود را به قسمت عنوان اضافه کنید.

    • قابلیت ایجاد برنامه های PWA که می توانند به عنوان کنترل کننده URL استفاده شوند اضافه شد. به عنوان مثال ، برنامه music.example.com می تواند خود را به عنوان یک کنترل کننده URL ثبت کند https: //*.music.example.com و همه انتقال از برنامه های خارجی با استفاده از این پیوندها ، به عنوان مثال ، از پیام رسان های فوری و سرویس گیرندگان ایمیل ، منجر می شود برای باز شدن این برنامه های کاربردی PWA ، یک برگه جدید در مرورگر نیست.
  • قابلیت بارگیری فایل های CSS با استفاده از دستور "import" ، مشابه بارگذاری ماژول های جاوا اسکریپت ، اضافه شده است ، که هنگام ایجاد عناصر خود راحت است و نیازی به سبک بندی کد جاوا اسکریپت ندارد.
    
        ورق واردات از './styles.css' را تأیید کنید {type: 'css'}؛
       document.adoptedStyleSheets = [sheet]؛
       shadowRoot.adoptedStyleSheets = [sheet]؛
     
  • یک روش استاتیک جدید ، AbortSignal.abort () ارائه شده است که یک شیء AbortSignal را با پارامتر abort که قبلاً تنظیم شده است برمی گرداند. به جای چند خط کد برای ایجاد یک شی AbortSignal در حالت aborted ، اکنون می توانید با یک خط "بازگشت AbortSignal.abort ()" را پشت سر بگذارید.
  • پشتیبانی از کلمات کلیدی شروع ، پایان ، شروع ، خود پایان ، چپ و راست به مورد flexbox ، علاوه بر کلمات کلیدی مرکزی ، flex-start و flex-end با ابزارهایی برای ساده تراز کردن موقعیت موارد انعطاف پذیر
  • یک ویژگی اختیاری "علت" جدید در سازنده Error () پیاده سازی شده است ، که می توانید به راحتی خطاها را با یکدیگر مرتبط کنید.
    
        const parentError = خطای جدید ("والد") ؛
       const error = خطای جدید ('والد' ، {علت: parentError})؛
       console.log (error.cause === parentError) ؛
       // → درست است
     
  • حالت پخش مجدد به ویژگی HTMLMediaElement.controlsList اضافه شده است تا عناصر رابط ارائه شده توسط مرورگر برای غیرفعال کردن سرعت پخش محتوای چند رسانه ای غیرفعال شود.
  • اضافه شدن سرصفحه Sec-CH-Prefers-Color-Scheme ، که به شما امکان می دهد در مرحله ارسال درخواست ، اطلاعاتی را در مورد طرح رنگ مورد نظر کاربر که در پرس و جوهای رسانه ای "ترجیح می دهد-طرح رنگ" استفاده کنید ، ارسال کنید ، که به شما امکان می دهد برای بهینه سازی بارگذاری CSS مربوط به طرح انتخاب شده و اجتناب از سوئیچ قابل مشاهده از مدارهای دیگر.
  • ویژگی Object.hasOwn را اضافه کرد ، که یک نسخه ساده شده از Object.prototype.hasOwnProperty به عنوان یک روش ایستا پیاده سازی شده است.
    
        Object.hasOwn ({prop: 42} ، 'prop')
       // → درست است
     
  • کامپایلر Sparkplug JIT ، که برای کامپایل خشن بسیار سریع طراحی شده است ، یک حالت دسته ای را برای کاهش سربار تغییر صفحات حافظه بین نوشتن و اجرا اضافه کرده است. Sparkplug اکنون چندین عملکرد را به طور همزمان کامپایل می کند و یک بار با mprotect تماس می گیرد تا مجوزهای کل گروه را تغییر دهد. حالت پیشنهادی زمان تدوین (تا 44٪) را بدون تأثیر منفی بر عملکرد اجرای جاوا اسکریپت به میزان قابل توجهی کاهش می دهد.

  • نسخه اندروید مکانیزم های دفاعی داخلی موتور V8 را در برابر حملات جانبی مانند Spectre غیرفعال می کند ، که مشخص شده است به اندازه جداسازی سایت ها در فرآیندهای جداگانه م effectiveثر نیستند. در نسخه دسکتاپ ، این مکانیزم ها در انتشار Chrome 70 غیرفعال شدند. غیرفعال کردن چک های غیر ضروری به ما اجازه می دهد عملکرد را 2 تا 15 درصد افزایش دهیم.

  • ابزارهایی برای توسعه دهندگان وب بهبود یافته است. در حالت بازرسی شیوه نامه ، قابلیت ویرایش پرسش های ایجاد شده با استفاده از عبارتcontainer ارائه شده است. در حالت بررسی شبکه ، پیش نمایش منابع در قالب بسته نرم افزاری وب اجرا می شود. در کنسول وب ، گزینه هایی برای کپی رشته ها در قالب جاوا اسکریپت یا JSON به منوی زمینه اضافه شده است. اشکال زدایی ساده خطاهای مربوط به CORS (اشتراک منابع متقابل).

علاوه بر نوآوری ها و رفع اشکال ، نسخه جدید 27 آسیب پذیری را از بین می برد. بسیاری از آسیب پذیری ها از طریق آزمایش خودکار با AddressSanitizer ، MemorySanitizer ، Control Flow Integrity ، LibFuzzer و AFL شناسایی شدند. هیچ مسئله مهمی شناسایی نشده است که امکان دور زدن همه سطوح حفاظت از مرورگر و اجرای کد در سیستم خارج از محیط سندباکس را داشته باشد. برای نسخه فعلی ، گوگل 19 پاداش برای نسخه فعلی تحت برنامه نقدی آسیب پذیری پرداخت کرده است (سه $ 20،000 ، یک $ 15،000 ، سه $ 10،000 ، یک $ 7500 ، سه $ 5000 ، و سه جایزه $ 3،000). میزان 5 جایزه هنوز مشخص نشده است.

OpenNET


نظر شما