نسخه 80 کروم

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

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

  • برای درصد کمی از کاربران، یک تابع گروه بندی برگه ارائه می شود که به شما امکان می دهد چندین برگه را با اهداف مشابه در گروه های جدا شده بصری ترکیب کنید. به هر گروه می توان رنگ و نام خاص خود را اختصاص داد. کاربرانی که در موج اول فعال‌سازی قرار نگرفته‌اند، می‌توانند پشتیبانی گروه‌بندی را از طریق گزینه «chrome://flags/#tab-groups» فعال کنند.

    نسخه 80 کروم

  • پشتیبانی از این ویژگی اضافه شده است اسکرول به متن، که به شما امکان می دهد با استفاده از برچسب "a name" یا ویژگی "id" بدون مشخص کردن برچسب در سند، پیوندهایی به کلمات یا عبارات جداگانه ایجاد کنید. دستور این گونه پیوندها به عنوان یک استاندارد وب تایید می شود که هنوز در مرحله است پیش نویس. ماسک انتقال (در اصل یک جستجوی پیمایشی) با ویژگی ":~:" از لنگر معمولی جدا می شود. به عنوان مثال، هنگامی که پیوند "https://opennet.ru/52312/#:~:text=Chrome" را باز می کنید، صفحه به موقعیتی می رود که اولین ذکر کلمه "Chrome" است و این کلمه برجسته می شود. .
  • کاربردی محدودیت شدیدتر در انتقال کوکی‌ها بین سایت‌ها، برای درخواست‌های غیر HTTPS، منع پردازش کوکی‌های شخص ثالث تنظیم‌شده هنگام دسترسی به سایت‌هایی غیر از دامنه صفحه فعلی. چنین کوکی‌هایی برای ردیابی حرکات کاربر بین سایت‌ها در کد شبکه‌های تبلیغاتی، ویجت‌های شبکه‌های اجتماعی و سیستم‌های تحلیل وب استفاده می‌شوند. به یاد داشته باشید که برای کنترل انتقال کوکی ها، از ویژگی SameSite مشخص شده در هدر Set-Cookie استفاده می شود که به طور پیش فرض اکنون روی مقدار "SameSite=Lax" تنظیم شده است که ارسال کوکی ها را برای درخواست های فرعی بین سایتی محدود می کند. ، مانند درخواست تصویر یا بارگیری محتوا از طریق iframe از یک سایت دیگر. سایت‌ها می‌توانند رفتار پیش‌فرض SameSite را با تنظیم صریح تنظیم کوکی روی SameSite=None لغو کنند. با این حال، مقدار SameSite=None برای Cookie فقط در حالت امن (معتبر برای اتصالات از طریق HTTPS) قابل تنظیم است. تغییر به صورت مرحله ای آغاز خواهد شد درخواست دادن 17 فوریه، ابتدا برای درصد کمی از کاربران، و سپس به تدریج گسترش پوشش.
  • اضافه محافظت در برابر اعلان های مزاحم مربوط به تأیید اعتبار. از آنجایی که فعالیت‌هایی مانند ارسال هرزنامه به درخواست‌های اعلان فشار، تجربه کاربر را قطع می‌کند و توجه را از گفتگوهای تأیید منحرف می‌کند، در Chrome 80، به‌جای یک گفتگوی جداگانه، اکنون می‌توان یک راهنمای ابزار اطلاعاتی را در نوار آدرس نمایش داد که هشدار می‌دهد درخواست مجوز مسدود شده است. آن را به یک نشانگر با تصویر یک زنگ خط خورده جمع می شود. با کلیک بر روی نشانگر، می توانید مجوز درخواست شده را در هر زمان مناسب فعال یا رد کنید. حالت جدید به طور خودکار برای کاربرانی که قبلاً معمولاً چنین درخواست‌هایی را مسدود کرده‌اند و همچنین برای سایت‌هایی که درصد زیادی از درخواست‌های رد شده را ثبت می‌کنند، فعال می‌شود. برای فعال کردن حالت جدید برای همه درخواست‌ها، گزینه خاصی به تنظیمات اضافه شده است (chrome://flags/#quiet-notification-prompts).

    نسخه 80 کروم

  • ممنوع است نمایش پنجره‌های پاپ‌آپ ( فراخوانی روش window.open()) و ارسال درخواست‌های همزمان XMLHttp در کنترل‌کننده‌های رویداد بسته یا پنهان کردن صفحه (تخلیه، قبل از بارگیری، صفحه‌نمایش و تغییر visibilitychange).
  • اولیه پیشنهادی حفاظت از بارگیری محتوای چندرسانه ای ترکیبی (زمانی که منابع در صفحه HTTPS از طریق پروتکل http:// بارگیری می شوند). در صفحاتی که از طریق HTTPS باز می شوند، پیوندهای "http://" اکنون به طور خودکار با "https://" در بلوک های مرتبط با پخش فایل های صوتی و تصویری جایگزین می شوند. اگر منبع صوتی یا تصویری از طریق https در دسترس نباشد، دانلود آن مسدود می شود (می توانید به صورت دستی مسدود شدن را از طریق منوی قابل دسترسی از طریق نماد قفل در نوار آدرس علامت گذاری کنید).

    بارگیری تصاویر بدون تغییر ادامه خواهد یافت (تصحیح خودکار در کروم 81 اعمال خواهد شد)، اما برای جایگزینی آنها با https یا مسدود کردن تصاویر، به توسعه دهندگان سایت ویژگی های CSP ارتقا-ناامن-درخواست ها و مسدود کردن تمام محتوای ترکیبی ارائه می شود. برای اسکریپت ها و iframes، مسدود کردن محتوای ترکیبی قبلاً اجرا شده است.

  • یک تدریجی خاموش کردن پشتیبانی از FTP به‌طور پیش‌فرض، پشتیبانی از FTP هنوز در دسترس است، اما این امکان وجود دارد برگزار شد آزمایشی که در آن پشتیبانی FTP برای درصد معینی از کاربران غیرفعال می شود (برای بازگشت باید مرورگر را با گزینه "-enable-ftp" راه اندازی کنید). به یاد بیاوریم که در نسخه های قبلی نمایش محتویات منابع بارگیری شده از طریق پروتکل "ftp://" در پنجره مرورگر قبلا غیرفعال شده بود (به عنوان مثال، نمایش اسناد HTML و فایل های README متوقف شد)، استفاده از FTP هنگام بارگیری منابع فرعی از اسناد ممنوع است و پشتیبانی پروکسی برای FTP متوقف شد. با این حال، هنوز امکان دانلود فایل ها از طریق لینک مستقیم و نمایش محتویات دایرکتوری ها وجود داشت.
  • اضافه
    امکان استفاده از تصاویر وکتور SVG به عنوان نماد سایت (favicon).

  • قابلیت غیرفعال کردن انتخابی انواع خاصی از داده های منتقل شده در حین همگام سازی بین مرورگرها به تنظیمات اضافه شده است.
  • یک قانون برای کاربران شرکتی با مدیریت مرکزی اضافه شده است BlockExternal Extensions، که به شما امکان می دهد از نصب افزونه های خارجی بر روی دستگاه جلوگیری کنید.
  • اجرا شد فرصت بررسی یک‌باره کل زنجیره خصوصیات یا تماس‌ها در جاوا اسکریپت. به عنوان مثال، هنگام دسترسی به "db.user.name.length" قبلاً لازم بود که تعریف همه اجزاء را مرحله به مرحله بررسی کنید، به عنوان مثال، از طریق "if (db && db.user && db.user.name)". اکنون از عملیات "?" استفاده می کنیم. شما می توانید بدون بررسی های اولیه به مقدار "db?.user?.name?.length" دسترسی داشته باشید و چنین دسترسی منجر به خطا نخواهد شد. در صورت بروز مشکل (اگر برخی از عناصر به صورت تهی یا تعریف نشده پردازش شوند) خروجی "تعریف نشده" خواهد بود.
  • جاوا اسکریپت یک عملگر الحاق منطقی جدید را معرفی می کند.??"، که اگر عملوند سمت چپ NULL یا تعریف نشده باشد، عملوند سمت راست را برمی گرداند و بالعکس. به عنوان مثال، "const foo = bar ?? «رشته پیش‌فرض» اگر نوار خالی باشد، در غیر این صورت، مقدار نوار را برمی‌گرداند، از جمله زمانی که نوار 0 و « « باشد، برخلاف عملگر «||».
  • در حالت Origin Trials (ویژگی های آزمایشی که نیاز به جدا دارند فعال سازی) Content Indexing API پیشنهادی. Origin Trial به معنای توانایی کار با API مشخص شده از برنامه های دانلود شده از localhost یا 127.0.0.1 یا پس از ثبت نام و دریافت یک توکن خاص است که برای مدت محدودی برای یک سایت خاص معتبر است. API نمایه سازی محتوا، فراداده ای را درباره محتوایی ارائه می دهد که قبلاً توسط برنامه های کاربردی وب در حال اجرا در حالت برنامه های وب پیشرو (PWS) در حافظه پنهان ذخیره شده است. این برنامه می‌تواند داده‌های مختلفی از جمله تصاویر، ویدیوها و مقالات را در سمت مرورگر ذخیره کند و هنگامی که اتصال شبکه قطع شد، از آن با استفاده از حافظه‌های Cache Storage و IndexedDB API استفاده کنید. Content Indexing API امکان افزودن، یافتن و حذف چنین منابعی را فراهم می کند. در مرورگر، این API قبلاً برای فهرست کردن فهرستی از صفحات و داده‌های چندرسانه‌ای موجود برای مشاهده آفلاین استفاده می‌شود.

    نسخه 80 کروم

  • تثبیت شده و اکنون در خارج از Origin Trials API توزیع شده است با انتخابگر تماس بگیرید، به کاربر این امکان را می دهد که ورودی ها را از دفترچه آدرس انتخاب کند و جزئیات خاصی را در مورد آنها به سایت منتقل کند. درخواست فهرستی از خواصی را که باید بازیابی شوند مشخص می کند. این ویژگی ها به طور صریح به کاربر نمایش داده می شود و او تصمیم می گیرد که آیا این ویژگی ها را پاس کند یا نه. API را می توان به عنوان مثال در یک سرویس گیرنده ایمیل تحت وب برای انتخاب گیرندگان نامه ارسال شده، در یک برنامه وب با عملکرد VoIP برای برقراری تماس با یک شماره خاص، یا در یک شبکه اجتماعی برای جستجوی دوستانی که قبلا ثبت نام کرده اند استفاده کرد. . همزمان، به‌عنوان بخشی از Origin Trials، برخی ویژگی‌های جدید Contact Picker ارائه می‌شود: علاوه بر نام کامل، ایمیل و شماره تلفن که قبلاً در دسترس بود، امکان انتقال آدرس ایمیل و تصویر نیز اضافه شده است.
  • در Web Workers پیشنهادی یک روش جدید برای بارگیری ماژول‌های ECMAScript، که به شما امکان می‌دهد از استفاده از تابع importScripts () اجتناب کنید، که هنگام پردازش اسکریپت وارد شده، کارگر را مسدود می‌کند و آن را در زمینه جهانی اجرا می‌کند. روش جدید شامل ایجاد ماژول‌های ویژه برای Web Workers است که از مکانیزم‌های استاندارد واردات جاوا اسکریپت پشتیبانی می‌کنند و می‌توانند به صورت پویا بدون مسدود کردن اجرای کارگر بارگذاری شوند. برای بارگذاری ماژول ها، سازنده Worker یک نوع منبع جدید - 'module' ارائه می دهد:

    const worker = new Worker('worker.js', {
    نوع: "ماژول"
    })؛

  • اجرا شد توانایی داخلی جاوا اسکریپت برای پردازش جریان های فشرده بدون نیاز به استفاده از کتابخانه های خارجی. API ها برای فشرده سازی و رفع فشرده سازی اضافه شده اند CompressionStream و DecompressionStream. فشرده سازی با استفاده از الگوریتم های gzip و deflate پشتیبانی می شود.

    const compressionReadableStream
    = inputReadableStream.pipeThrough(New CompressionStream('gzip'));

  • ویژگی CSS اضافه شده "خط شکستن: هر جا"، که امکان شکستن در سطح هر کاراکتر تایپوگرافی را فراهم می کند، از جمله شکستگی در نزدیکی نویسه های نقطه گذاری که با فاصله از پیش تعریف شده اند ( ) و در وسط کلمات. همچنین ویژگی CSS اضافه شده است "overflow-wrap: هر جا» به شما این امکان را می دهد که اگر موقعیت مناسبی برای شکست در خط پیدا نشد، دنباله های ناگسستنی کاراکترها را در هر جایی بشکنید.
  • برای زمینه رسانه پردازش شده به صورت رمزگذاری شده، پشتیبانی از روش اجرا شده است MediaCapabilities.decodingInfo()، که اطلاعاتی در مورد قابلیت های مرورگر برای رمزگشایی محتوای محافظت شده ارائه می دهد (به عنوان مثال، از این روش می توان برای انتخاب سناریوهای رمزگشایی با کیفیت یا کم مصرف بر اساس پهنای باند موجود و اندازه صفحه استفاده کرد).
  • روش اضافه شده HTMLVideoElement.getVideoPlaybackQuality()، که از طریق آن می توانید اطلاعاتی در مورد عملکرد پخش ویدیو برای تنظیم میزان بیت، وضوح و سایر پارامترهای ویدیو به دست آورید.
  • در API کنترل کننده پرداخت، که ادغام با سیستم های پرداخت موجود را ساده می کند، این قابلیت را اضافه کرد هیئت نمایندگی پردازش آدرس و اطلاعات تماس با یک پردازنده خارجی سیستم پرداخت (برنامه سیستم پرداخت ممکن است اطلاعات دقیق تری نسبت به مرورگر داشته باشد).
  • پشتیبانی از هدر HTTP اضافه شد Sec-Fetch-Dest، که به شما امکان می دهد ابرداده های اضافی در مورد نوع محتوای مرتبط با درخواست ارسال کنید (به عنوان مثال، برای درخواست از طریق یک برچسب img، نوع "تصویر"، برای فونت ها - "font"، برای اسکریپت ها - "اسکریپت" است، برای سبک ها - "سبک" و غیره). بر اساس نوع مشخص شده، سرور می تواند اقداماتی را برای محافظت در برابر انواع خاصی از حملات انجام دهد (به عنوان مثال، بعید است که پیوندی به یک کنترل کننده برای انتقال پول از طریق یک برچسب img مشخص شود، بنابراین چنین درخواست هایی نیازی به پردازش شود).
  • در موتور جاوا اسکریپت V8 بهینه سازی انجام شده است ذخیره نشانگرها روی پشته به جای ذخیره مقدار کامل 64 بیتی، فقط بیت های منحصر به فرد پایین اشاره گر ذخیره می شوند. این بهینه سازی امکان کاهش مصرف حافظه پشته را تا 40% با هزینه جریمه عملکرد 3-8% فراهم کرد.
    نسخه 80 کروم

    نسخه 80 کروم

  • تغییرات در ابزارهای توسعه دهندگان وب:
    • کنسول وب اکنون توانایی تعریف مجدد عبارات let و class را دارد.

      نسخه 80 کروم

    • ابزارهای رفع اشکال WebAssembly بهبود یافته است. پشتیبانی اضافه شد آدم کوتوله برای اشکال زدایی گام به گام، مشخص کردن نقاط شکست و تجزیه و تحلیل ردپای پشته در کد منبعی که یک برنامه WebAssembly در آن نوشته شده است.

      نسخه 80 کروم

    • پانل بهبود یافته برای تجزیه و تحلیل فعالیت شبکه. قابلیت مشاهده زنجیره فراخوانی اسکریپت های مرتبط با شروع درخواست اضافه شده است.

      نسخه 80 کروم

      ستون‌های مسیر و URL جدید اضافه شد که مسیر مطلق و URL کامل را برای هر منبع شبکه نشان می‌دهد. اطمینان حاصل می کند که پرس و جو انتخاب شده در نمودار نمای کلی برجسته شده است.

      نسخه 80 کروم

    • در تب Network Conditions گزینه ای برای تغییر پارامتر User-Agent اضافه شده است.

      نسخه 80 کروم

    • یک رابط جدید برای پیکربندی پنل حسابرسی پیشنهاد شده است.
      نسخه 80 کروم

    • در برگه پوشش انتخاب جمع‌آوری داده‌های پوشش برای هر تابع یا هر بلوک کد را فراهم می‌کند (آمار دقیق‌تر، اما به منابع بیشتری نیاز دارد).

      نسخه 80 کروم

  • اقدام آشکار AppCache (فناوری برای سازماندهی عملکرد یک برنامه وب در حالت آفلاین) محدود دایرکتوری فعلی سایت (اگر مانیفست از www.example.com/foo/bar/ بارگیری شده باشد، پس توانایی لغو URL فقط در داخل /foo/bar/ کار خواهد کرد). برنامه ریزی شده است که پشتیبانی از AppCache به طور کامل در Chrome 82 حذف شود. دلیل ذکر شده تمایل به خلاص شدن از شر یکی از بردارهای حملات اسکریپت بین سایتی است. توصیه می شود به جای AppCache از API استفاده کنید مخزن.
  • متوقف شد پشتیبانی از API قدیمی WebVR 1.1 که می تواند با API جایگزین شود دستگاه WebXR، که به شما امکان می دهد به اجزای ایجاد واقعیت مجازی و واقعیت افزوده دسترسی داشته باشید و کار را با کلاس های مختلف دستگاه ها، از کلاه ایمنی ثابت تا راه حل های مبتنی بر دستگاه های تلفن همراه، یکسان کنید.
  • کنترل‌کننده‌های پروتکل که از طریق متدهای registerProtocolHandler() و unregisterProtocolHandler() متصل می‌شوند، اکنون فقط می‌توانند در یک زمینه امن (در صورت دسترسی از طریق HTTPS) کار کنند.

علاوه بر نوآوری ها و رفع اشکال، نسخه جدید حذف می کند 56 آسیب پذیری. بسیاری از آسیب‌پذیری‌ها در نتیجه آزمایش خودکار با ابزارها شناسایی شدند AddressSanitizer, ضد عفونی کننده حافظه, یکپارچگی جریان را کنترل کنید, LibFuzzer и AFL. هیچ مشکل مهمی شناسایی نشده است که به شخص اجازه می دهد تمام سطوح حفاظت مرورگر را دور بزند و کد را در سیستم خارج از محیط سندباکس اجرا کند. به عنوان بخشی از برنامه پرداخت پاداش نقدی برای کشف آسیب‌پذیری‌ها برای نسخه فعلی، گوگل 37 جایزه به ارزش 48 هزار دلار (یک جایزه 10000 دلاری، سه جایزه 5000 دلاری، سه جایزه 3000 دلاری، چهار جایزه 2000 دلاری، سه جایزه 1000 دلاری و شش جایزه 500 دلاری) پرداخت کرد. اندازه 17 جایزه هنوز مشخص نشده است.

منبع: opennet.ru

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