Publikimi 90 i Chrome

Google ka zbuluar lëshimin e shfletuesit të internetit Chrome 90. Në të njëjtën kohë, një lëshim i qëndrueshëm i projektit falas Chromium, i cili shërben si bazë e Chrome, është i disponueshëm. Shfletuesi Chrome dallohet nga përdorimi i logove të Google, prania e një sistemi për dërgimin e njoftimeve në rast përplasjeje, module për luajtjen e përmbajtjes së mbrojtur video (DRM), një sistem për instalimin automatik të përditësimeve dhe transmetimin e parametrave RLZ gjatë kërkimit. Lëshimi tjetër i Chrome 91 është planifikuar për 25 maj.

Ndryshimet kryesore në Chrome 90:

  • Të gjithë përdoruesit janë të mundësuar të hapin sajte nëpërmjet HTTPS si parazgjedhje kur shkruani emrat e hosteve në shiritin e adresave. Për shembull, kur futni hostin example.com, siti https://example.com do të hapet si parazgjedhje dhe nëse shfaqen probleme gjatë hapjes, ai do të kthehet përsëri në http://example.com. Për të kontrolluar përdorimin e "https://" të paracaktuar, propozohet cilësimi "chrome://flags#omnibox-default-typed-navigations-to-https".
  • Tani është e mundur të caktohen etiketa të ndryshme në dritare për t'i ndarë ato vizualisht në panelin e desktopit. Mbështetja për ndryshimin e emrit të dritares do të thjeshtojë organizimin e punës kur përdorni dritare të veçanta të shfletuesit për detyra të ndryshme, për shembull, kur hapni dritare të veçanta për detyra pune, interesa personale, argëtim, materiale të shtyra, etj. Emri ndryshohet përmes artikullit "Shto titullin e dritares" në menynë e kontekstit që shfaqet kur klikoni me të djathtën në një zonë të zbrazët në shiritin e skedave. Pas ndryshimit të emrit në panelin e aplikacionit, në vend të emrit të faqes nga skeda aktive, shfaqet emri i zgjedhur, i cili mund të jetë i dobishëm kur hapen të njëjtat sajte në dritare të ndryshme të lidhura me llogari të veçanta. Lidhja mbahet midis seancave dhe pas një rinisjeje dritaret do të rikthehen me emrat e zgjedhur.
    Publikimi 90 i Chrome
  • U shtua aftësia për të fshehur "Listën e leximit" pa pasur nevojë të ndryshoni cilësimet në "chrome://flags" ("chrome://flags#read-later"). Për t'u fshehur, tani mund të përdorni opsionin "Shfaq listën e leximit" në fund të menysë së kontekstit që shfaqet kur klikoni me të djathtën në shiritin e faqeshënuesve. Ju kujtojmë se në versionin e fundit, kur disa përdorues klikojnë në yll në shiritin e adresave, përveç butonit "Shto faqerojtësin", shfaqet një buton i dytë "Shto në listën e leximit" dhe në këndin e djathtë të paneli i faqeshënuesve shfaqet menyja "Lista e leximit", e cila liston të gjitha faqet e shtuara më parë në listë. Kur hapni një faqe nga lista, ajo shënohet si e lexuar. Faqet në listë gjithashtu mund të shënohen manualisht si të lexuara ose të palexuara, ose të hiqen nga lista.
  • Mbështetje e shtuar për segmentimin e rrjetit për të mbrojtur kundër metodave të gjurmimit të lëvizjeve të përdoruesve ndërmjet sajteve bazuar në ruajtjen e identifikuesve në zona që nuk janë të destinuara për ruajtjen e përhershme të informacionit ("Supercookies"). Për shkak se burimet e memories ruhen në një hapësirë ​​emri të përbashkët, pavarësisht nga domeni fillestar, një sajt mund të përcaktojë që një sajt tjetër po ngarkon burimet duke kontrolluar nëse ai burim është në cache. Mbrojtja bazohet në përdorimin e segmentimit të rrjetit (Ndarja e rrjetit), thelbi i të cilit është shtimi në memoriet e përbashkëta të përbashkëta të lidhjes shtesë të regjistrimeve në domenin nga i cili hapet faqja kryesore, gjë që kufizon mbulimin e cache vetëm për skriptet e përcjelljes së lëvizjes. në sitin aktual (një skript nga një iframe nuk do të jetë në gjendje të kontrollojë nëse burimi është shkarkuar nga një faqe tjetër). Çmimi i segmentimit është një rënie në efikasitetin e memorizimit, duke çuar në një rritje të lehtë të kohës së ngarkimit të faqes (maksimumi me 1.32%, por për 80% të faqeve me 0.09-0.75%).
  • Lista e zezë e portave të rrjetit për të cilat është bllokuar dërgimi i kërkesave HTTP, HTTPS dhe FTP është rimbushur për t'u mbrojtur nga sulmet rrëshqitëse të NAT, gjë që lejon, kur hapni një faqe interneti të përgatitur posaçërisht nga sulmuesi në një shfletues, të krijoni një rrjet. lidhje nga serveri i sulmuesit me çdo port UDP ose TCP në sistemin e përdoruesit, pavarësisht nga përdorimi i intervalit të adresës së brendshme (192.168.x.x, 10.x.x.x). U shtua 554 (protokolli RTSP) dhe 10080 (përdoret në rezervimin e Amanda dhe VMWare vCenter) në listën e porteve të ndaluara. Më parë, portet 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 dhe 6566 ishin bllokuar tashmë.
  • U shtua mbështetje fillestare për hapjen e dokumenteve PDF me formularët XFA në shfletues.
  • Për disa përdorues, është aktivizuar një seksion i ri i cilësimeve "Cilësimet e Chrome > Privatësia dhe siguria > Privacy sandbox", i cili ju lejon të menaxhoni parametrat e FLoC API, që synojnë përcaktimin e kategorisë së interesave të përdoruesit pa identifikim individual dhe pa iu referuar historia e vizitës së vendeve specifike.
  • Një njoftim më i qartë me një listë veprimesh të lejuara shfaqet tani kur një përdorues lidhet me një profil për të cilin është aktivizuar menaxhimi i centralizuar.
  • E bëri ndërfaqen e kërkesës për leje më pak ndërhyrëse. Kërkesat që përdoruesi ka të ngjarë t'i refuzojë bllokohen automatikisht me një tregues përkatës të shfaqur në shiritin e adresave, me të cilin përdoruesi mund të shkojë në ndërfaqen për menaxhimin e lejeve në bazë të faqes.
    Publikimi 90 i Chrome
  • Mbështetja për shtesat Intel CET (Intel Control-flow Enforcement Technology) përfshihet për mbrojtjen e harduerit kundër shfrytëzimeve të ndërtuara duke përdorur teknikat e programimit të orientuar drejt kthimit (ROP, Programimi i orientuar nga kthimi).
  • Puna vazhdon për kalimin e shfletuesit në përdorimin e terminologjisë gjithëpërfshirëse. Skedari "master_preferences" është riemërtuar në "initial_preferences" për të shmangur lëndimin e ndjenjave të përdoruesve që e perceptojnë fjalën "zotër" si një aluzion për ish-skllavërinë e paraardhësve të tyre. Për të ruajtur përputhshmërinë, mbështetja për "master_preferences" do të mbetet në shfletues për ca kohë. Më parë, shfletuesi tashmë kishte hequr qafe përdorimin e fjalëve "lista e bardhë", "lista e zezë" dhe "vendase".
  • Në versionin Android, kur aktivizohet modaliteti i kursimit të trafikut "Lite", shpejtësia e biteve zvogëlohet kur shkarkohet video kur lidhet përmes rrjeteve të operatorëve celularë, gjë që do të ulë kostot e përdoruesve që kanë të aktivizuara tarifat e bazuara në trafik. Modaliteti "Lite" siguron gjithashtu kompresimin e imazheve të kërkuara nga burimet e disponueshme publikisht (që nuk kërkojnë vërtetim) nëpërmjet HTTPS.
  • U shtua kodues i formatit video AV1, i optimizuar posaçërisht për përdorim në videokonferenca bazuar në protokollin WebRTC. Përdorimi i AV1 në videokonferencat bën të mundur rritjen e efikasitetit të kompresimit dhe ofrimin e aftësisë për të transmetuar në kanale me një gjerësi bande prej 30 kbit/sek.
  • Në JavaScript, objektet Array, String dhe TypedArrays zbatojnë metodën at(), e cila ju lejon të përdorni indeksimin relativ (një pozicion relativ specifikohet si indeksi i grupit), duke përfshirë specifikimin e vlerave negative në lidhje me fundin (për shembull , "arr.at(-1)" do të kthejë elementin e fundit të grupit).
  • JavaScript ka shtuar veçorinë ".indekset" për shprehjet e rregullta, e cila përmban një grup me pozicionet fillestare dhe mbaruese të grupeve të ndeshjeve. Vetia plotësohet vetëm kur ekzekutohet shprehja e rregullt me ​​flamurin "/d". const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indekset[0]); // 0 — të gjitha grupet e ndeshjeve // ​​→ [0, 2] console.log(m.indekset[1]); // 1 është grupi i parë i ndeshjeve // ​​→ [0, 1] console.log(m.indekset[2]); // 2 - grupi i dytë i ndeshjeve // ​​→ [1, 2]
  • Performanca e vetive "super" (për shembull, super.x) për të cilat është aktivizuar cache inline është optimizuar. Performanca e përdorimit të "super" tani është afër performancës së aksesit në pronat e rregullta.
  • Thirrja e funksioneve WebAssembly nga JavaScript është përshpejtuar ndjeshëm për shkak të përdorimit të vendosjes në linjë. Ky optimizim mbetet eksperimental për momentin dhe kërkon funksionimin me flamurin "-turbo-inline-js-wasm-calls".
  • U shtua WebXR Depth Sensing API, i cili ju lejon të përcaktoni distancën midis objekteve në mjedisin e përdoruesit dhe pajisjes së përdoruesit, për shembull, për të krijuar aplikacione më realiste të realitetit të shtuar. Le t'ju kujtojmë se WebXR API ju lejon të unifikoni punën me klasa të ndryshme të pajisjeve të realitetit virtual, nga helmetat e palëvizshme 3D deri tek zgjidhjet e bazuara në pajisjet celulare.
  • Veçoria WebXR AR Lighting Estimation është stabilizuar, duke lejuar seancat WebXR AR të përcaktojnë parametrat e ndriçimit të ambientit për t'i dhënë modeleve një pamje më natyrale dhe integrim më të mirë me mjedisin e përdoruesit.
  • Modaliteti i provave të origjinës (veçoritë eksperimentale që kërkojnë aktivizim të veçantë) shton disa API të reja që aktualisht janë të kufizuara në platformën Android. Prova e origjinës nënkupton aftësinë për të punuar me API-në e specifikuar nga aplikacionet e shkarkuara nga localhost ose 127.0.0.1, ose pas regjistrimit dhe marrjes së një token të veçantë që është i vlefshëm për një kohë të kufizuar për një sajt specifik.
    • Metoda getCurrentBrowsingContextMedia(), e cila bën të mundur kapjen e një transmetimi video MediaStream që pasqyron përmbajtjen e skedës aktuale. Ndryshe nga metoda e ngjashme getDisplayMedia(), kur telefononi getCurrentBrowsingContextMedia(), një dialog i thjeshtë i paraqitet përdoruesit për të konfirmuar ose bllokuar funksionimin e transferimit të videos me përmbajtjen e skedës.
    • API i insertable Streams, i cili ju lejon të manipuloni transmetimet e mediave të papërpunuara të transmetuara përmes MediaStreamTrack API, të tilla si të dhënat e kamerës dhe mikrofonit, rezultatet e kapjes së ekranit ose të dhënat e dekodimit të ndërmjetëm të kodeve. Ndërfaqet WebCodec përdoren për të paraqitur korniza të papërpunuara dhe krijohet një transmetim i ngjashëm me atë që gjeneron API i WebRTC Insertable Streams bazuar në RTCPeerConnections. Nga ana praktike, API i ri lejon funksionalitete të tilla si aplikimi i teknikave të mësimit të makinerive për të identifikuar ose shënuar objektet në kohë reale, ose shtimi i efekteve të tilla si prerja e sfondit përpara kodimit ose pas dekodimit nga një kodek.
    • Aftësia për të paketuar burimet në paketa (Web Bundle) për të organizuar ngarkimin më efikas të një numri të madh skedarësh shoqërues (stilet CSS, JavaScript, imazhe, iframes). Ndër të metat në mbështetjen ekzistuese për paketat për skedarët JavaScript (webpack), të cilat Web Bundle po përpiqet t'i eliminojë: vetë paketa, por jo pjesët përbërëse të saj, mund të përfundojnë në cache HTTP; përpilimi dhe ekzekutimi mund të fillojë vetëm pasi paketa të jetë shkarkuar plotësisht; Burimet shtesë si CSS dhe imazhet duhet të kodohen në formën e vargjeve JavaScript, gjë që rrit madhësinë dhe kërkon një hap tjetër analizimi.
    • Mbështetje për trajtimin e përjashtimeve në WebAssembly.
  • Stabilizoi API-në Declarative Shadow DOM për të krijuar degë të reja rrënjësore në Shadow DOM, për shembull për të ndarë një stil elementi të importuar të palës së tretë dhe nëndegën e lidhur DOM nga dokumenti kryesor. API-ja deklarative e propozuar ju lejon të përdorni vetëm HTML për të hequr degët e DOM pa pasur nevojë të shkruani kodin JavaScript.
  • Vetia e raportit të aspektit CSS, e cila ju lejon të lidhni në mënyrë eksplicite raportin e aspektit me çdo element (për të llogaritur automatikisht madhësinë që mungon kur specifikoni vetëm lartësinë ose gjerësinë), zbaton aftësinë për të ndërthurur vlerat gjatë animacionit (kalim i qetë nga një raporti i pamjes me një tjetër).
  • U shtua aftësia për të pasqyruar gjendjen e elementeve të personalizuar HTML në CSS përmes pseudo-klasës ":state()". Funksionaliteti zbatohet në analogji me aftësinë e elementeve standarde HTML për të ndryshuar gjendjen e tyre në varësi të ndërveprimit të përdoruesit.
  • Vetia CSS "shfaqje" tani mbështet vlerën 'auto', e cila është vendosur si parazgjedhje për dhe , dhe në platformën Android gjithashtu për , , , dhe .
  • Mbështetja për vlerën "clip" është shtuar në vetinë "overflow" CSS, kur vendoset, përmbajtja që shtrihet përtej bllokut pritet në kufirin e tejmbushjes së lejuar të bllokut pa mundësinë e lëvizjes. Vlera që përcakton se sa larg mund të shtrihet përmbajtja përtej kufirit aktual të kutisë përpara se të fillojë prerja, vendoset nëpërmjet veçorisë së re CSS "overflow-clip-margin". Krahasuar me "overflow: fshehur", përdorimi i "overflow: clip" lejon performancë më të mirë.
    Publikimi 90 i ChromePublikimi 90 i Chrome
  • Titulli HTTP i Politikës së Veçorisë është zëvendësuar nga një titull i ri "Politika e lejeve" për të kontrolluar delegimin e lejeve dhe aktivizimin e veçorive të avancuara, që përfshin mbështetjen për vlerat e strukturuara të fushës (për shembull, tani mund të specifikoni "Politika e lejeve: gjeolokacioni =()" në vend të "Veçori- Politika: gjeolokacioni 'asnjë'").
  • Mbrojtje e forcuar kundër përdorimit të Protokollit Buffer për sulmet e shkaktuara nga ekzekutimi spekulativ i udhëzimeve në procesorë. Mbrojtja zbatohet duke shtuar llojin MIME “application/x-protobuffer” në listën e llojeve MIME të pa nuhatur, i cili përpunohet përmes mekanizmit Cross-Origin-Read-Blocking. Më parë, lloji MIME "application/x-protobuf" ishte përfshirë tashmë në një listë të ngjashme, por "application/x-protobuffer" ishte lënë jashtë.
  • File System Access API zbaton aftësinë për të zhvendosur pozicionin aktual në një skedar përtej fundit të tij dhe për të mbushur boshllëkun që rezulton me zero gjatë shkrimit të mëvonshëm përmes thirrjes FileSystemWritableFileStream.write(). Kjo veçori ju lejon të krijoni skedarë të rrallë me hapësira boshe dhe thjeshton ndjeshëm organizimin e shkrimit në një skedar që transmeton me ardhje të parregullt të blloqeve të të dhënave (për shembull, kjo praktikohet në BitTorrent).
  • U shtua konstruktor StaticRange me implementimin e llojeve të gamës së lehtë që nuk kërkojnë përditësimin e të gjitha objekteve të lidhura sa herë që ndryshon pema DOM.
  • Zbatoi aftësinë për të specifikuar parametrat e gjerësisë dhe lartësisë për elementët të specifikuara brenda elementit . Kjo veçori ju lejon të llogaritni raportin e pamjes për elementët , ngjashëm me mënyrën se si bëhet për , dhe .
  • Mbështetja jo e standardizuar për kanalet e të dhënave RTP është hequr nga WebRTC dhe rekomandohet të përdoren kanale të dhënash të bazuara në SCTP.
  • Vetitë navigator.plugins dhe navigator.mimeTypes tani kthejnë gjithmonë një vlerë boshe (pas përfundimit të mbështetjes së Flash, këto veçori nuk nevojiteshin më).
  • Një pjesë e madhe e përmirësimeve të vogla janë bërë në veglat për zhvilluesit e uebit dhe është shtuar një mjet i ri për korrigjimin e CSS, flexbox.
    Publikimi 90 i Chrome

Përveç risive dhe rregullimeve të gabimeve, versioni i ri eliminon 37 dobësi. Shumë nga dobësitë u identifikuan si rezultat i testimit të automatizuar duke përdorur mjetet AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer dhe AFL. Nuk është identifikuar asnjë problem kritik që do të lejonte të anashkalonte të gjitha nivelet e mbrojtjes së shfletuesit dhe të ekzekutonte kodin në sistem jashtë mjedisit të sandbox. Si pjesë e programit të shpërblimit në para për zbulimin e dobësive për versionin aktual, Google pagoi 19 çmime me vlerë 54000 dollarë (një çmim 20000 dollarë, një çmim 10000 dollarë, dy çmime 5000 dollarë, tre çmime 3000 dollarë, një çmim 2000 dollarë, një çmim 1000 dollarë, një çmim 500 dollarë, ). Madhësia e 6 shpërblimeve nuk është përcaktuar ende.

Më vete, mund të vërehet se dje, pas formimit të lëshimit korrigjues 89.0.4389.128, por para lëshimit të Chrome 90, u publikua një tjetër shfrytëzim, i cili përdorte një cenueshmëri të re 0-ditore që nuk ishte fiksuar në Chrome 89.0.4389.128 . Nuk është ende e qartë nëse ky problem është rregulluar në Chrome 90. Ashtu si në rastin e parë, shfrytëzimi mbulon vetëm një dobësi dhe nuk përmban kod për të anashkaluar izolimin e sandbox (kur përdorni Chrome me flamurin "--no-sandbox" , shfrytëzimi ndodh kur hapja e një faqe interneti në platformën Windows ju lejon të ekzekutoni Notepad). Dobësia e lidhur me shfrytëzimin e ri ndikon në teknologjinë WebAssembly.

Burimi: opennet.ru

Shto një koment