گوگل از نسخه مرورگر وب کروم 104 رونمایی کرد. همزمان، نسخه پایدار پروژه رایگان کرومیوم که اساس کروم است، در دسترس است. تفاوت مرورگر کروم با کرومیوم در استفاده از لوگوهای گوگل، وجود سیستمی برای ارسال اعلان ها در صورت خرابی، ماژول هایی برای پخش محتوای ویدئویی محافظت شده از کپی (DRM)، سیستمی برای نصب خودکار به روز رسانی ها، فعال کردن دائمی ایزوله Sandbox. ، کلیدهایی را برای Google API ارائه می دهد و پارامترهای RLZ- را هنگام جستجو ارسال می کند. برای کسانی که به زمان بیشتری برای به روز رسانی نیاز دارند، شاخه Extended Stable به طور جداگانه پشتیبانی می شود و پس از آن 8 هفته. انتشار بعدی کروم 105 برای 30 آگوست برنامه ریزی شده است.
تغییرات کلیدی در کروم 104:
- یک محدودیت طول عمر کوکی معرفی شده است - همه کوکیهای جدید یا بهروزرسانی شده بهطور خودکار پس از 400 روز از وجود خود حذف میشوند، حتی اگر زمان انقضا تعیینشده از طریق ویژگیهای Expires و Max-Age از 400 روز بیشتر شود (برای چنین کوکیهایی، طول عمر کاهش مییابد. تا 400 روز). کوکیهایی که قبل از اجرای محدودیت ایجاد شدهاند، حتی اگر بیش از 400 روز باشد، عمر خود را حفظ میکنند، اما در صورت بهروزرسانی محدود خواهند شد. این تغییر الزامات جدیدی را نشان می دهد که در پیش نویس مشخصات جدید ذکر شده است.
- مسدود کردن نشانیهای اینترنتی iframe که به سیستم فایل محلی ارجاع میدهند ("filesystem://") فعال شد.
- برای سرعت بخشیدن به بارگذاری صفحه، بهینه سازی جدیدی اضافه شده است که تضمین می کند در لحظه کلیک روی یک پیوند، بدون اینکه منتظر بمانید دکمه را رها کنید یا انگشت خود را از صفحه لمسی بردارید، اتصال به میزبان هدف برقرار می شود.
- تنظیمات اضافهشده برای مدیریت «موضوعات و گروههای علاقهمندی» API، که به عنوان بخشی از طرح Privacy Sandbox تبلیغ میشود، که به شما امکان میدهد دستههایی از علایق کاربران را تعریف کنید و از آنها به جای ردیابی کوکیها برای شناسایی گروههایی از کاربران با علایق مشابه بدون شناسایی کاربران فردی استفاده کنید. . علاوه بر این، دیالوگ های اطلاعاتی که یک بار نشان داده می شوند اضافه شده اند و به کاربر ماهیت فناوری را توضیح می دهند و پیشنهاد می کنند پشتیبانی آن را در تنظیمات فعال کنید.
- آستانه افزایش یافته برای محدود کردن تماسهای تودرتو به تایمرهای setTimeout و setInterval با فاصله زمانی مشخصشده کمتر از 4 میلیثانیه شروع شد ("setTimeout(…, <4ms)"). محدودیت کل در چنین تماس هایی از 5 به 100 افزایش یافته است، که این امکان را فراهم می کند تا تماس های فردی را به شدت قطع نکنید، اما در عین حال از سوء استفاده هایی که می تواند بر عملکرد مرورگر تأثیر بگذارد جلوگیری می کند.
- هنگامی که صفحه به یک منبع فرعی در شبکه داخلی (192.168.xx) دسترسی پیدا می کند، یک درخواست تأیید مجوز CORS (اشتراک گذاری منابع متقاطع) با عنوان «Access-Control-Request-Private-Network: true» به سرور اصلی سایت ارسال می شود. ، 10. xxx، 172.16-31.xx) یا به localhost (127.xxx). هنگام تایید عملیات در پاسخ به این درخواست، سرور باید هدر "Access-Control-Allow-Private-Network: true" را برگرداند. در کروم نسخه 104، نتیجه تأیید هنوز بر پردازش درخواست تأثیر نمی گذارد - اگر تأییدی وجود نداشته باشد، یک هشدار در کنسول وب نمایش داده می شود، اما خود درخواست منبع فرعی مسدود نمی شود. فعال کردن مسدود کردن بدون تأیید تا Chrome 107 انتظار نمیرود. برای فعال کردن مسدود کردن در نسخههای قبلی، میتوانید تنظیم «chrome://flags/#private-network-access-respect-preflight-results» را فعال کنید.
تأیید اعتبار توسط سرور برای تقویت محافظت در برابر حملات مربوط به دسترسی به منابع در شبکه محلی یا رایانه کاربر (localhost) از اسکریپت های بارگیری شده هنگام باز کردن یک سایت معرفی شد. چنین درخواست هایی توسط مهاجمان برای انجام حملات CSRF بر روی روترها، نقاط دسترسی، چاپگرها، واسط های وب شرکتی و سایر دستگاه ها و سرویس هایی که درخواست ها را فقط از شبکه محلی می پذیرند، استفاده می شود. برای محافظت در برابر چنین حملاتی، در صورت دسترسی به منابع فرعی در شبکه داخلی، مرورگر یک درخواست صریح برای اجازه بارگیری این منابع فرعی ارسال می کند.
- یک مکانیسم Region Capture اضافه شده است که به شما امکان می دهد محتوای غیرضروری را از ویدیوی تولید شده بر اساس ضبط صفحه حذف کنید. برای مثال، با استفاده از getDisplayMedia API، یک برنامه وب میتواند ویدیوی محتوای یک برگه را استریم کند، و Region Capture به شما امکان میدهد بخشی از محتوا را که شامل کنترلهای کنفرانس ویدیویی است برش دهید.
- پشتیبانی اضافه شده برای نحو جدید درخواست رسانه تعریف شده در مشخصات Media Queries Level 4، که حداقل و حداکثر اندازه ناحیه قابل مشاهده (نمایش) را تعیین می کند. نحو جدید به شما امکان می دهد از عملگرهای مقایسه ریاضی رایج و عملگرهای منطقی مانند "not"، "or" و "and" استفاده کنید. به عنوان مثال، به جای «@media (min-width: 400px) { … }» اکنون میتوانید «@media (width >= 400px) {…}» را مشخص کنید.
- چندین API جدید به حالت Origin Trials (ویژگی های آزمایشی که نیاز به فعال سازی جداگانه دارند) اضافه شده است. Origin Trial به معنای توانایی کار با API مشخص شده از برنامه های دانلود شده از localhost یا 127.0.0.1 یا پس از ثبت نام و دریافت یک توکن خاص است که برای مدت محدودی برای یک سایت خاص معتبر است.
- یک ویژگی CSS "focusgroup" را برای بهبود ناوبری از طریق عناصر با استفاده از کلیدهای جهت دار روی صفحه کلید اضافه کرد.
- Secure Payment Confirmation API این امکان را برای کاربر فراهم می کند که ذخیره تنظیمات کارت اعتباری را غیرفعال کند. برای نمایش دیالوگی که به شما امکان می دهد از ذخیره پارامترهای کارت اعتباری خودداری کنید، سازنده ()PaymentRequest پرچم "showOptOut: true" را ارائه می دهد.
- به اشتراک گذاشته شده Element Transitions API اضافه شده است که به شما امکان می دهد یک انتقال صاف بین نماهای محتوای مختلف در برنامه های وب تک صفحه ای را سازماندهی کنید.
- پشتیبانی از قوانین حدس و گمان تثبیت شده است و به نویسندگان وب سایت اجازه می دهد تا اطلاعاتی را در مورد محتمل ترین صفحاتی که کاربر می تواند به آنها برود به مرورگر ارائه دهد. مرورگر از این اطلاعات برای بارگیری فعال و ارائه محتوای صفحه استفاده می کند.
- مکانیسم بستهبندی منابع فرعی در بستهها در قالب Web Bundle تثبیت شده است و به شما امکان میدهد کارایی بارگیری تعداد زیادی از فایلهای همراه (سبکهای CSS، جاوا اسکریپت، تصاویر، iframes) را افزایش دهید. بر خلاف بستهها در قالب Webpack، قالب Web Bundle دارای مزایای زیر است: این خود بسته نیست که در حافظه پنهان HTTP ذخیره میشود، بلکه اجزای سازنده آن است. کامپایل و اجرای جاوا اسکریپت بدون انتظار برای دانلود کامل بسته شروع می شود. مجاز به گنجاندن منابع اضافی مانند CSS و تصاویر است که در بسته وب باید به شکل رشته های جاوا اسکریپت کدگذاری شوند.
- ویژگی object-view-box CSS اضافه شده است، که به شما امکان می دهد بخشی از تصویر را که به جای یک عنصر داده شده در ناحیه نمایش داده می شود، تعریف کنید، که می تواند برای مثال برای افزودن یک حاشیه یا سایه استفاده شود.
- API قابلیت Fullscreen Delegation را اضافه کرد که به یک شی Window اجازه میدهد تا حق فراخوانی requestFullscreen() را به یک شی Window دیگر واگذار کند.
- API Window Companion Fullscreen اضافه شد که به محتوای تمام صفحه و پنجرههای بازشو اجازه میدهد پس از دریافت تأیید از کاربر در صفحه دیگری قرار گیرند.
- یک ویژگی Visual-box به ویژگی overflow-clip-margin CSS اضافه شده است، که تعیین می کند از کجا شروع به کوتاه کردن محتوایی شود که فراتر از مرز منطقه است (می تواند مقادیر content-box، padding-box و border- را بگیرد. جعبه).
- Async Clipboard API توانایی تعریف فرمت های تخصصی برای داده های انتقال یافته از طریق کلیپ بورد را به غیر از متن، تصاویر و متن با نشانه گذاری اضافه کرده است.
- WebGL از تعیین فضای رنگی برای بافر رندر و تبدیل هنگام وارد کردن از یک بافت پشتیبانی می کند.
- پشتیبانی از سیستم عامل های OS X 10.11 و macOS 10.12 متوقف شده است.
- U2F (Cryptotoken) API که قبلاً منسوخ و به طور پیش فرض غیرفعال شده بود، متوقف شده است. API U2F با Web Authentication API جایگزین شده است.
- بهبودهایی در ابزارهای توسعه دهندگان وب ایجاد شده است. اکنون دیباگر این قابلیت را دارد که پس از ضربه زدن به نقطه شکست در جایی از بدنه تابع، کد را از ابتدای تابع راه اندازی مجدد کند. پشتیبانی برای توسعه افزونه ها برای پنل Recorder اضافه شده است. پشتیبانی برای تجسم علائم تنظیم شده در یک برنامه وب از طریق فراخوانی متد performance.measure() به پانل تجزیه و تحلیل عملکرد اضافه شده است. توصیه های بهبود یافته برای تکمیل خودکار ویژگی های شی جاوا اسکریپت. هنگام تکمیل خودکار متغیرهای CSS، پیش نمایش مقادیر غیر مرتبط با رنگ ها ارائه می شود.
علاوه بر نوآوری ها و رفع اشکال، نسخه جدید 27 آسیب پذیری را از بین می برد. بسیاری از آسیبپذیریها در نتیجه آزمایش خودکار با استفاده از ابزارهای AddressSanitizer، MemorySanitizer، Control Flow Integrity، LibFuzzer و AFL شناسایی شدند. هیچ مشکل مهمی شناسایی نشده است که به شخص اجازه می دهد تمام سطوح حفاظت مرورگر را دور بزند و کد را در سیستم خارج از محیط سندباکس اجرا کند. به عنوان بخشی از برنامه پاداش نقدی برای کشف آسیبپذیریها برای نسخه فعلی، Google 22 جایزه به ارزش 84 هزار دلار (یک جایزه 15000 دلاری، یک جایزه 10000 دلاری، یک جایزه 8000 دلاری، یک جایزه 7000 دلاری، چهار جایزه 5000 دلاری، یک جایزه 4000 دلاری، سه جایزه 3000 دلاری، ، چهار جایزه 2000 دلاری و سه جایزه 1000 دلاری). اندازه یک جایزه هنوز مشخص نشده است.
منبع: opennet.ru