Chrome 104 թողարկում

Google-ը ներկայացրել է Chrome 104 վեբ բրաուզերի թողարկումը: Միևնույն ժամանակ հասանելի է անվճար Chromium նախագծի կայուն թողարկումը, որը ծառայում է որպես Chrome-ի հիմքը: Chrome բրաուզերը Chromium-ից տարբերվում է Google-ի լոգոների օգտագործմամբ, խափանման դեպքում ծանուցումներ ուղարկելու համակարգի առկայությամբ, պատճենահանմամբ պաշտպանված վիդեո բովանդակություն (DRM) նվագարկելու մոդուլներով, թարմացումների ավտոմատ տեղադրման համակարգով, Sandbox-ի մեկուսացումը մշտապես միացնելու համար։ , բանալիներ մատակարարելով Google API-ին և որոնելիս փոխանցելով RLZ-ի պարամետրերը: Նրանց համար, ովքեր թարմացման համար ավելի շատ ժամանակ են պահանջում, Extended Stable մասնաճյուղն առանձին աջակցվում է, որին հաջորդում է 8 շաբաթ: Chrome 105-ի հաջորդ թողարկումը նախատեսված է օգոստոսի 30-ին:

Հիմնական փոփոխությունները Chrome 104-ում.

  • Ներդրվել է թխուկների գործողության ժամկետ. բոլոր նոր կամ թարմացված թխուկներն ինքնաբերաբար կջնջվեն գոյություն ունենալուց 400 օր հետո, նույնիսկ եթե Expires և Max-Age հատկանիշներով սահմանված ժամկետը գերազանցի 400 օրը (այդպիսի Cookie-ների համար ժամկետը կկրճատվի: մինչև 400 օր): Սահմանափակման կիրառումից առաջ ստեղծված թխուկները կպահպանեն իրենց կյանքի ժամկետը, նույնիսկ եթե այն գերազանցի 400 օրը, սակայն թարմացվելու դեպքում կսահմանափակվեն: Փոփոխությունն արտացոլում է նոր պահանջները, որոնք նշված են նոր ճշգրտման նախագծում:
  • Միացրել է iframe URL-ների արգելափակումը, որոնք հղում են կատարում տեղական ֆայլային համակարգին («filesystem://»):
  • Էջի բեռնումն արագացնելու համար ավելացվել է նոր օպտիմիզացիա, որն ապահովում է, որ կապը թիրախային հոսթի հետ հաստատվի այն պահին, երբ դուք սեղմում եք հղման վրա, առանց սպասելու, որ դուք ազատեք կոճակը կամ ձեր մատը կհեռացնեք սենսորային էկրանից:
  • Ավելացվել են «Թեմաներ և հետաքրքրությունների խումբ» API-ի կառավարման կարգավորումներ, որոնք առաջ են քաշվել որպես Privacy Sandbox նախաձեռնության մաս, որը թույլ է տալիս սահմանել օգտատերերի հետաքրքրությունների կատեգորիաները և օգտագործել դրանք «Cookies» ֆայլերին հետևելու փոխարեն՝ նույնականացնելով նմանատիպ հետաքրքրություններ ունեցող օգտատերերի խմբերը՝ առանց առանձին օգտվողների նույնականացնելու: . Բացի այդ, մեկ անգամ ցուցադրվող տեղեկատվական երկխոսություններն ավելացվել են՝ օգտվողին բացատրելով տեխնոլոգիայի էությունը և առաջարկելով ակտիվացնել դրա աջակցությունը կարգավորումներում:
  • Բարձրացված շեմերը՝ սահմանափակելու ներդրված զանգերը setTimeout և setInterval ժմչփեր, որոնք աշխատում են 4 մվ-ից պակաս ընդմիջումով («setTimeout(..., <4ms)»): Նման զանգերի ընդհանուր սահմանաչափը 5-ից հասցվել է 100-ի, ինչը հնարավորություն է տալիս ագրեսիվ կերպով չկրճատել անհատական ​​զանգերը, բայց միևնույն ժամանակ կանխել չարաշահումները, որոնք կարող են ազդել բրաուզերի աշխատանքի վրա:
  • Միացված է CORS (Cross-Origin Resource Sharing) թույլտվության հաստատման հարցում ուղարկում կայքի հիմնական սերվերին՝ «Access-Control-Request-Private-Network: true» վերնագրով, երբ էջը մուտք է գործում ենթառեսուրս ներքին ցանցում (192.168.xx): , 10. xxx, 172.16-31.xx) կամ localhost-ին (127.xxx): Այս հարցումին ի պատասխան գործողությունը հաստատելիս սերվերը պետք է վերադարձնի «Access-Control-Allow-Private-Network: true» վերնագիրը: Chrome-ի 104 տարբերակում հաստատման արդյունքը դեռ չի ազդում հարցման մշակման վրա. եթե հաստատում չկա, նախազգուշացում է ցուցադրվում վեբ վահանակում, բայց ենթառեսուրսների հարցումն ինքնին արգելափակված չէ: Մինչև Chrome 107-ը հնարավոր չէ միացնել առանց ճանաչման արգելափակումը: Նախկին թողարկումներում արգելափակումն ակտիվացնելու համար կարող եք միացնել «chrome://flags/#private-network-access-respect-preflight-results» կարգավորումը:

    Սերվերի կողմից լիազորությունների ստուգումը ներդրվել է պաշտպանությունն ուժեղացնելու հարձակումներից, որոնք կապված են լոկալ ցանցի կամ օգտագործողի համակարգչի (localhost) ռեսուրսների հասանելիության հետ՝ կայքը բացելիս բեռնված սկրիպտներից: Նման հարցումներն օգտագործվում են հարձակվողների կողմից՝ CSRF հարձակումներ իրականացնելու երթուղիչների, մուտքի կետերի, տպիչների, կորպորատիվ վեբ ինտերֆեյսների և այլ սարքերի և ծառայությունների վրա, որոնք ընդունում են հարցումները միայն տեղական ցանցից: Նման հարձակումներից պաշտպանվելու համար, եթե ներքին ցանցում որևէ ենթառեսուրս մուտք է գործում, զննարկիչը հստակ հարցում կուղարկի այս ենթառեսուրսները բեռնելու թույլտվության համար:

  • Ավելացվել է Region Capture մեխանիզմը, որը թույլ է տալիս կտրել ավելորդ բովանդակությունը էկրանի նկարահանման հիման վրա ստեղծված տեսանյութից: Օրինակ՝ օգտագործելով getDisplayMedia API-ը, վեբ հավելվածը կարող է ներդիրի բովանդակության տեսանյութ հեռարձակել, իսկ Region Capture-ը թույլ է տալիս կտրել բովանդակության մի մասը, որը ներառում է վիդեո կոնֆերանսի կառավարում:
  • Ավելացվել է մեդիա հարցումների շարահյուսության նոր շարահյուսություն, որը սահմանված է Media Queries Level 4 ճշգրտման մեջ, որը որոշում է տեսանելի տարածքի (տեսադաշտի) նվազագույն և առավելագույն չափերը: Նոր շարահյուսությունը թույլ է տալիս օգտագործել սովորական մաթեմատիկական համեմատության օպերատորներ և տրամաբանական օպերատորներ, ինչպիսիք են «ոչ», «կամ» և «և»: Օրինակ, «@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» դրոշը:
    • Ավելացվեց Shared Element Transitions API-ն, որը թույլ է տալիս կազմակերպել սահուն անցում բովանդակության տարբեր դիտումների միջև մեկ էջանոց վեբ հավելվածներում:
  • Սպեկուլյացիայի կանոնների աջակցությունը կայունացվել է, ինչը թույլ է տալիս կայքի հեղինակներին զննարկիչին տրամադրել տեղեկատվություն ամենահավանական էջերի մասին, որտեղ օգտվողը կարող է գնալ: Զննարկիչը օգտագործում է այս տեղեկատվությունը էջի բովանդակությունը ակտիվորեն բեռնելու և մատուցելու համար:
  • Վեբ փաթեթի ձևաչափով ենթառեսուրսները փաթեթների մեջ փաթեթավորելու մեխանիզմը կայունացվել է, ինչը թույլ է տալիս բարձրացնել մեծ թվով ուղեկցող ֆայլերի (CSS ոճեր, JavaScript, պատկերներ, iframes) բեռնման արդյունավետությունը: Ի տարբերություն Webpack ձևաչափի փաթեթների, Web Bundle ձևաչափն ունի հետևյալ առավելությունները. HTTP քեշում պահվում է ոչ թե փաթեթը, այլ դրա բաղադրիչ մասերը. JavaScript-ի կազմումը և կատարումը սկսվում է առանց փաթեթի ամբողջական ներբեռնման սպասելու. Թույլատրվում է ներառել լրացուցիչ ռեսուրսներ, ինչպիսիք են CSS-ը և պատկերները, որոնք վեբ փաթեթում պետք է կոդավորվեն JavaScript տողերի տեսքով։
  • Ավելացվեց object-view-box CSS հատկությունը, որը թույլ է տալիս տվյալ տարրի փոխարեն սահմանել պատկերի մի մասը, որը կցուցադրվի տարածքում, որը կարող է օգտագործվել, օրինակ, եզրագիծ կամ ստվեր ավելացնելու համար։
  • Ավելացվեց Fullscreen Capability Delegation API-ը, որը թույլ է տալիս Window օբյեկտներից մեկին պատվիրակել մեկ այլ Window օբյեկտի՝ requestFullscreen() կանչելու իրավունքը:
  • Ավելացվեց Fullscreen Companion Window API-ն, որը թույլ է տալիս ամբողջ էկրանով բովանդակությունը և թռուցիկները տեղադրել մեկ այլ էկրանին՝ օգտատիրոջ կողմից հաստատում ստանալուց հետո:
  • Overflow-clip-margin CSS հատկությանը ավելացվել է visual-box հատկանիշ, որը որոշում է, թե որտեղից սկսել կրճատել բովանդակությունը, որը դուրս է գալիս տարածքի սահմանից (կարող է վերցնել content-box, padding-box և border- արժեքները: տուփ):
  • Async Clipboard API-ն ավելացրել է սեղմատախտակի միջոցով փոխանցվող տվյալների համար մասնագիտացված ձևաչափեր սահմանելու հնարավորություն, բացառությամբ տեքստի, պատկերների և նշագրմամբ տեքստի:
  • WebGL-ն ապահովում է գունային տարածություն նշելու համար ռենդերի բուֆերի և փոխակերպման համար, երբ ներմուծվում է հյուսվածքից:
  • OS X 10.11 և macOS 10.12 պլատֆորմների աջակցությունը դադարեցվել է։
  • U2F (Cryptotoken) API-ն, որը նախկինում հնացած և լռելյայն անջատված էր, դադարեցվել է: U2F API-ն փոխարինվել է Web Authentication API-ով:
  • Բարելավումներ են կատարվել վեբ մշակողների համար նախատեսված գործիքներում: Վրիպազերծիչն այժմ հնարավորություն ունի վերագործարկել կոդը ֆունկցիայի սկզբից՝ ֆունկցիայի մարմնի ինչ-որ տեղ բեկման կետին հարվածելուց հետո: Ավելացվեց ձայնագրիչ վահանակի հավելումներ մշակելու աջակցություն: Արդյունավետության վերլուծության վահանակում ավելացվել է վեբ հավելվածում սահմանված նշանների վիզուալիզացման աջակցությունը perform.measure() մեթոդը կանչելու միջոցով: JavaScript օբյեկտի հատկությունների ավտոմատ լրացման բարելավված առաջարկներ: CSS փոփոխականների ավտոմատ լրացման ժամանակ տրամադրվում են գույների հետ չկապված արժեքների նախադիտումներ:
    Chrome 104 թողարկում

Բացի նորամուծություններից և սխալների շտկումից, նոր տարբերակը վերացնում է 27 խոցելիություն։ Խոցելիություններից շատերը հայտնաբերվել են ավտոմատացված թեստավորման արդյունքում՝ օգտագործելով AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer և AFL գործիքները: Չի հայտնաբերվել ոչ մի կարևոր խնդիր, որը թույլ կտա շրջանցել բրաուզերի պաշտպանության բոլոր մակարդակները և համակարգում կոդ գործարկել Sandbox միջավայրից դուրս: Որպես ընթացիկ թողարկման համար խոցելիություններ հայտնաբերելու համար կանխիկ դրամական պարգևատրման ծրագրի մաս՝ Google-ը վճարել է 22 հազար դոլար արժողությամբ 84 պարգև (մեկ $15000 մրցանակ, մեկ $10000, մեկ $8000, մեկ $7000, չորս $5000, մեկ $4000 մրցանակ, երեք $3000 մրցանակ, , չորս $2000 մրցանակ և երեք $1000 մրցանակ)։ Մեկ պարգևի չափը դեռ որոշված ​​չէ։

Source: opennet.ru

Добавить комментарий