نسخه 76 کروم

گوگل ارایه شده انتشار مرورگر وب کروم 76... همزمان در دسترس انتشار پایدار یک پروژه رایگان کروم، که به عنوان پایه کروم عمل می کند. مرورگر کروم متفاوت استفاده از لوگوهای گوگل، وجود سیستمی برای ارسال اعلان ها در صورت خرابی، امکان دانلود ماژول فلش در صورت درخواست، ماژول های پخش محتوای ویدئویی محافظت شده (DRM)، سیستمی برای نصب خودکار به روز رسانی ها و انتقال در هنگام جستجو پارامترهای RLZ. انتشار بعدی کروم 77 برای 10 سپتامبر برنامه ریزی شده است.

اصلی تغییرات в کروم 76:

  • فعال شد به طور پیش‌فرض، حالت محافظت در برابر انتقال کوکی‌های شخص ثالث، که در غیاب ویژگی SameSite در هدر Set-Cookie، مقدار «SameSite=Lax» را به‌طور پیش‌فرض تنظیم می‌کند و ارسال کوکی‌ها را برای درج‌ها از سایت‌های شخص ثالث (اما سایت‌ها همچنان می‌توانند با تنظیم صریح هنگام تنظیم مقدار کوکی SameSite=None، محدودیت را لغو کنند). تا پیش از این، مرورگر برای هر درخواستی به سایتی که کوکی برای آن تنظیم شده بود، یک کوکی ارسال می کرد، حتی اگر سایت دیگری در ابتدا باز شده بود و درخواست به صورت غیرمستقیم با بارگذاری یک تصویر یا از طریق iframe انجام می شد. در حالت "Lax"، انتقال کوکی فقط برای درخواست‌های فرعی بین سایتی، مانند درخواست‌های تصویر یا بارگیری محتوای iframe، که اغلب برای راه‌اندازی حملات CSRF و ردیابی حرکات کاربر بین سایت‌ها استفاده می‌شوند، مسدود می‌شود.
  • پخش محتوای فلش به طور پیش فرض متوقف شد. تا زمان انتشار Chrome 87 که در دسامبر 2020 پیش بینی می شود، پشتیبانی از Flash را می توان در تنظیمات (پیشرفته > حریم خصوصی و امنیت > تنظیمات سایت) برگرداند، و پس از آن تأیید صریح عملکرد پخش محتوای Flash برای هر سایت (تأیید این است. تا زمانی که مرورگر راه اندازی مجدد نشود) به خاطر سپرده می شود. حذف کامل کد برای پشتیبانی از Flash با برنامه قبلی اعلام شده Adobe برای پایان دادن به پشتیبانی از فناوری Flash در سال 2020 همگام است.
  • برای شرکت‌ها، امکان جستجوی فایل‌ها در فضای ذخیره‌سازی Google Drive به نوار آدرس اضافه شده است.

    نسخه 76 کروم

  • آغاز شده مسدود کردن انبوه تبلیغات نامناسب در کروم که با درک محتوا تداخل دارد و معیارهای ایجاد شده توسط ائتلاف برای تبلیغات بهتر را برآورده نمی کند.
  • یک حالت تطبیقی ​​برای جابجایی به صفحه جدید پیاده سازی شده است که در آن محتوای فعلی پاک می شود و پس زمینه سفید نه بلافاصله، بلکه پس از یک تاخیر کوتاه نمایش داده می شود. برای صفحات با بارگذاری سریع، خراش دادن فقط منجر به سوسو زدن می شود و باری را برای اطلاع کاربر از بارگیری صفحه جدید فراهم نمی کند. در نسخه جدید، اگر صفحه ای به سرعت باز می شود و کمی تأخیر وجود دارد، صفحه جدید در جای خود نمایش داده می شود و به طور یکپارچه جایگزین قبلی می شود (به عنوان مثال، هنگام جابجایی به صفحات دیگر همان سایت که از نظر طراحی مشابه هستند راحت است. و طرح رنگ). اگر مدتی طول بکشد که کاربر برای نمایش صفحه قابل توجه باشد، مانند قبل، صفحه از قبل پاک می شود.
  • معیارهای تعیین فعالیت کاربر در یک صفحه سخت تر شده است. Chrome به شما امکان می‌دهد اعلان‌های پاپ‌آپ را نمایش دهید و محتوای ویدیویی/صوتی مزاحم را فقط پس از اقدامات کاربر در صفحه پخش کنید. با نسخه جدید، فشار دادن Escape، نگه داشتن نشانگر روی پیوند و لمس صفحه دیگر به عنوان تعامل فعال کننده صفحه (که نیاز به کلیک صریح، تایپ کردن، یا پیمایش) دارند، تلقی نمی شوند.
  • اضافه پرس و جو رسانه ای "prefers-color-scheme"، که به سایت ها امکان می دهد تعیین کنند که آیا مرورگر از یک تم تیره استفاده می کند یا خیر و به طور خودکار تم تیره را برای سایت در حال مشاهده فعال می کند.
  • وقتی تم تیره را در بیلدهای لینوکس فعال می کنید، نوار آدرس اکنون با رنگ تیره نمایش داده می شود.
  • مسدود امکان تعیین باز شدن یک صفحه در حالت ناشناس از طریق دستکاری با FileSystem API، که قبلاً توسط برخی از نشریات برای تحمیل اشتراک پولی در صورت باز کردن غیر شخصی صفحات بدون به خاطر سپردن کوکی ها استفاده می شد (به طوری که کاربران از حالت خصوصی استفاده نمی کردند. برای دور زدن مکانیسم ارائه دسترسی آزمایشی رایگان). پیش از این، هنگام کار در حالت ناشناس، مرورگر دسترسی به FileSystem API را مسدود می کرد تا از کاهش داده ها بین جلسات جلوگیری کند، که به جاوا اسکریپ اجازه می داد توانایی ذخیره داده ها از طریق FileSystem API را بررسی کند و در صورت عدم موفقیت، درباره فعالیت آن قضاوت کند. حالت ناشناس اکنون دسترسی به FileSystem API مسدود نشده است و محتوا پس از پایان جلسه پاک می شود.
  • اضافه چالش های جدید در
    API Payment Request and Payment Handler. یک متد جدید changePaymentMethod() در شی PaymentRequestEvent ظاهر شده است و یک روش پرداخت متد تغییر رویداد جدید به شی PaymentRequest اضافه شده است که به سایت جمع آوری پرداخت یا برنامه وب اجازه می دهد تا به کاربر که روش پرداخت را تغییر می دهد پاسخ دهد. نسخه جدید همچنین آزمایش برنامه‌های کاربردی با استفاده از گواهی‌های خودامضا را برای APIهای پرداخت آسان‌تر می‌کند. برای نادیده گرفتن خطاهای تأیید گواهی در طول توسعه، یک گزینه خط فرمان جدید "-ignore-certificate-errors" اضافه شده است.

  • در نوار آدرس کنار دکمه افزودن به نشانک‌های برنامه‌های وب در حال اجرا در حالت Desktop Progressive Web Apps (PWA)، اضافه یک میانبر برای نصب یک برنامه وب روی سیستم برای کار به عنوان یک برنامه جداگانه.
    نسخه 76 کروم

  • برای دستگاه های تلفن همراه، امکان کنترل نمایش یک مینی پنل با دعوت نامه برای افزودن یک برنامه به صفحه اصلی وجود دارد. برای برنامه‌های PWA (برنامه وب پیشرو)، مینی‌بار پیش‌فرض به‌طور خودکار زمانی که سایت را باز می‌کنید نشان داده می‌شود. توسعه‌دهنده اکنون می‌تواند از نمایش این پانل خودداری کند و درخواست نصب خود را پیاده‌سازی کند، که برای آن می‌تواند یک کنترلر رویداد نصب کند.
    قبل از نصب، یک فراخوانی برای preventDefault();
    نسخه 76 کروم

  • تعداد دفعات بررسی به روز رسانی برای برنامه های PWA (Progressive Web App) نصب شده در محیط اندروید افزایش یافته است. به روز رسانی WebAPK اکنون یک بار در روز بررسی می شود و نه هر سه روز یک بار مانند قبل. اگر چنین بررسی تغییری را در حداقل یک ویژگی کلیدی در مانیفست نشان دهد، مرورگر یک WebAPK جدید را دانلود و نصب خواهد کرد.
  • در API کلیپ بورد غیر همگام قابلیت خواندن و نوشتن برنامه‌نویسی تصاویر از طریق کلیپ بورد را با استفاده از متدهای navigator.clipboard.read() و navigator.clipboard.write() اضافه کرد.
  • پشتیبانی از گروهی از هدرهای HTTP را اجرا کرد واکشی متادیتا (Sec-Fetch-Dest، Sec-Fetch-Mode، Sec-Fetch-Site و Sec-Fetch-User)، به شما این امکان را می دهد که متادیتای اضافی درباره ماهیت درخواست ارسال کنید (درخواست بین سایتی، درخواست از طریق تگ img و غیره). .) برای پذیرش اقدامات سرور برای محافظت در برابر انواع خاصی از حملات (به عنوان مثال، بعید است که پیوندی به یک کنترل کننده برای انتقال پول از طریق یک برچسب img مشخص شود، بنابراین چنین درخواست هایی می توانند بدون ارسال به برنامه مسدود شوند. )
  • عملکرد اضافه شده است form.requestSubmit()، که ارسال برنامه ای داده های فرم را همانند کلیک بر روی دکمه ارسال آغاز می کند. این تابع می تواند هنگام توسعه دکمه های ارسال فرم خود استفاده شود، که فراخوانی ()form.submit برای آن کافی نیست زیرا منجر به تأیید تعاملی پارامترها، تولید رویداد 'submit' و انتقال داده نمی شود. محدود به دکمه ارسال؛
  • تابع اضافه شده به IndexedDB مرتکب شدن()، که به شما امکان می دهد تراکنش های مرتبط با یک شی IDBTransaction را بدون منتظر ماندن برای کنترل کننده رویداد در تمام درخواست های مرتبط انجام دهید. استفاده از commit () به شما این امکان را می دهد که توان عملیاتی درخواست های نوشتن و خواندن را برای ذخیره سازی افزایش دهید و به صراحت تکمیل تراکنش را کنترل کنید.
  • گزینه هایی به توابع Intl.DateTimeFormat مانند formatToParts() و solveOptions() اضافه شد. dateStyle و timeStyle، که به شما امکان می دهد سبک های نمایش تاریخ و زمان خاص محلی را درخواست کنید.
  • متد BigInt.prototype.toLocaleString () برای قالب‌بندی اعداد بر اساس محلی، و متد Intl.NumberFormat.prototype.format() و تابع formatToParts() برای پشتیبانی از مقادیر ورودی BigInt اصلاح شده‌اند.
  • API مجاز است قابلیت های رسانه ای در همه انواع Web Workers، که می تواند برای انتخاب پارامترهای بهینه هنگام ایجاد یک MediaStream از یک کارگر استفاده شود.
  • روش اضافه شده Promise.allSettled()، که فقط وعده های انجام شده یا رد شده را برمی گرداند، بدون احتساب وعده های معلق.
  • گزینه «--disable-infobars» را حذف کرد، که قبلاً می‌توانست برای پنهان کردن هشدارهای بازشو در رابط Chrome استفاده شود (قانون CommandLineFlagSecurityWarningsEnabled برای پنهان کردن هشدارهای مربوط به امنیت پیشنهاد شده است).
  • به رابط برای کار با حباب اضافه متدهای text()، arrayBuffer() و stream() برای خواندن انواع داده خاص؛
  • ویژگی CSS "white-space:break-space" را اضافه کرد تا مشخص کند هر دنباله ای از فضای خالی که منجر به سرریز خط می شود باید شکسته شود.
  • کار روی تمیز کردن پرچم ها در chrome://flags شروع شده است، به عنوان مثال، حذف شده پرچم را برای غیرفعال کردن ویژگی "ping"، که به صاحبان سایت اجازه می دهد تا کلیک روی پیوندها را از صفحات خود ردیابی کنند، غیرفعال کنید. اگر پیوندی را دنبال کنید و ویژگی "ping=URL" در تگ "a href" در مرورگر وجود داشته باشد، اکنون می توانید ارسال یک درخواست POST اضافی به URL مشخص شده در ویژگی را با اطلاعات مربوط به انتقال غیرفعال کنید. معنی مسدود کردن پینگ از این ویژگی گم شده است تعریف شده است در مشخصات HTML5 و راه‌حل‌های زیادی برای انجام همان عمل وجود دارد (به عنوان مثال، عبور از یک پیوند ترانزیت یا رهگیری کلیک‌ها با کنترل‌کننده‌های جاوا اسکریپت).
  • پرچم غیرفعال را حذف کرد رژیم جداسازی سایت سخت، که در آن صفحاتی از هاست های مختلف همیشه در حافظه فرآیندهای مختلف قرار می گیرند که هر کدام از آنها از sandbox خاص خود استفاده می کنند.
  • موتور V8 عملکرد اسکن و تجزیه فرمت JSON را به میزان قابل توجهی افزایش داده است. برای صفحات وب محبوب، سرعت اجرای JSON.parse تا 2.7 برابر است. تبدیل رشته های یونیکد به طور قابل توجهی تسریع شده است، به عنوان مثال، سرعت تماس به String#localeCompare، String#normalize و همچنین برخی از API های بین المللی تقریبا دو برابر شده است. عملکرد عملیات با آرایه های منجمد نیز هنگام استفاده از عملیات هایی مانند frozen.indexOf(v)، frozen.includes(v)، fn(...frozen)، fn(...[...frozen]) به طور قابل توجهی بهینه شده است. و fn.apply (this, [... frozen]).

    نسخه 76 کروم

علاوه بر نوآوری ها و رفع اشکال، نسخه جدید حذف می کند 43 آسیب پذیری. بسیاری از آسیب‌پذیری‌ها در نتیجه آزمایش خودکار با ابزارها شناسایی شدند AddressSanitizer, ضد عفونی کننده حافظه, یکپارچگی جریان را کنترل کنید, LibFuzzer и AFL. هیچ مشکل مهمی شناسایی نشده است که به شخص اجازه می دهد تمام سطوح حفاظت مرورگر را دور بزند و کد را در سیستم خارج از محیط سندباکس اجرا کند. به عنوان بخشی از برنامه پرداخت جوایز نقدی برای کشف آسیب‌پذیری‌ها برای نسخه فعلی، گوگل 16 جایزه به مبلغ 23500 دلار (یک جایزه 10000 دلاری، یک جایزه 6000 دلاری، دو جایزه 3000 دلاری و سه جایزه 500 دلاری) پرداخت کرد. اندازه 9 جایزه هنوز مشخص نشده است.

منبع: opennet.ru

اضافه کردن نظر