Podjetje Google izdajo spletnega brskalnika . Hkrati stabilna izdaja odprtokodnega projekta , ki služi kot osnova za Chrome. Brskalnik Chrome po uporabi logotipov Google, vključevanju sistema za pošiljanje obvestil v primeru zrušitve, možnosti nalaganja modula Flash na zahtevo, modu za predvajanje zaščitenega video vsebin (DRM), sistemu samodejnega nameščanja posodobitev in prenosu pri iskanju Naslednji izid Chrome 81 je načrtovan za 17. marec.
:
- Za majhen odstotek uporabnikov je bila ponujena funkcija grupiranja zavihkov, ki omogoča združevanje več podobnih zavihkov v vizualno ločene skupine. Vsaki skupini lahko dodelite svojo barvo in ime. Uporabniki, ki niso vključeni v prvo val aktivacije, lahko aktivirajo podporo za grupiranje preko možnosti „chrome://flags/#tab-groups“.
- Dodana je podpora za funkcijo , ki omogoča ustvarjanje povezav do posameznih besed ali fraz, brez izrecnega označevanja v dokumentu z oznako „a name“ ali lastnostjo „id“. Syntaksa takšnih povezav se načrtuje kot web-standard, ki je trenutno v fazi . Maske za preusmeritev (v bistvu se izvede iskanje s pomikanjem) se ločijo od navadnih sidrih z oznako „:~:“. Na primer, ko odprete povezavo „https://opennet.ru/52312/#:~:text=Chromе“, se stran pomakne na položaj s prvim omembo besede „Chromе“ in to besedo bo osvetljeno.
- strožje omejitve prenosa piškotkov med spletnimi stranmi, ki za ne-HTTPS poizvedbe prepoveduje obdelavo tretjih piškotkov, ki se postavljajo pri dostopu do spletnih strani, ki niso domena trenutne strani. Takšni piškotki se uporabljajo za sledenje premikanjem uporabnika med spletnimi stranmi v kodi oglasnih mrež, socialnih widgetov in sistemov spletne analitike. Ponovimo, da za upravljanje prenosa piškotkov velja atribut SameSite, ki je določen v glavi Set-Cookie, in ki je privzeto nastavljen na „SameSite=Lax“, kar omejuje pošiljanje piškotkov za medsebojne podpoizvedbe, kot je zahteva za sliko ali nalaganje vsebine preko iframe iz drugega spletnega mesta. Spletne strani lahko prekličejo privzeti način SameSite tako, da ob nastavitvi piškotka izrecno določijo vrednost SameSite=None. Vendar pa se vrednost SameSite=None lahko dodeli piškotkom samo v načinu Secure (velja za povezave preko HTTPS). Sprememba se bo postopoma začne 17. februarja, najprej za majhen odstotek uporabnikov, nato pa postopoma širi obseg.
- zaščita pred vsiljivimi obvestili, povezanimi s potrjevanjem pooblastil. Ker tovrstna dejavnost, na primer, spam zahteve za push obvestila, prekine delo uporabnika in odvrne pozornost od dejanj v dialogih potrjevanja, v Chrome 80 namesto ločenega dialoga zdaj lahko v naslovni vrstici prikazuje informacijsko sporočilo s opozorilom o blokadi zahteve pooblastil, ki se nato skrči v indikator s podobo prekrižanega zvona. S klikom na indikator lahko kadar koli aktivirate ali zavrnete zahtevano pooblastilo. Samodejno bo nov način izbirčno aktiviran za uporabnike, ki so doslej običajno blokirali tovrstne zahteve, ter za spletna mesta, kjer se beleži visoka odstotnost zavrnjenih zahtev. Za aktiviranje novega načina za vse zahteve so bile v nastavitve dodane posebne možnosti (chrome://flags/#quiet-notification-prompts).
- prikazovanje pojavnih oken (klic metode window.open()) in pošiljanje sinhronih zahtev XMLHttpRequest v obdelovalcih dogodkov zapiranja ali prikrivanja strani (unload, beforeunload, pagehide in visibilitychange);
- Predlagana začetna pred nalaganjem mešanih multimedijskih vsebin (ko se na HTTPS-strani nalagajo viri po protokolu http://). Na straneh, odprtih po HTTPS, bodo zdaj samodejno zamenjane povezave 'http://' na 'https://' v blokih, povezanih z predvajanjem zvočnih in video datotek. Če zvočni ali video vir ni na voljo po https, se njegovo nalaganje blokira (ročno lahko označite blokado prek menija, dostopnega preko simbola ključavnice v naslovni vrstici).
Slike se bodo še naprej nalagale brez sprememb (samodejna zamenjava bo uporabljena v Chrome 81), vendar so za zamenjavo na https ali blokado slik razvijalcem spletnih mest na voljo CSP lastnosti upgrade-insecure-requests in block-all-mixed-content. Blokada mešanih vsebin za skripte in iframe je bila prej že uveljavljen.
- Začelo se je postopno podpore FTP. Privzeto podpora FTP za zdaj ostaja, vendar bo Eksperiment v okviru katerega bo podpora FTP za določen odstotek uporabnikov onemogočena (za vračilo bo treba zagnati brskalnik z opcijo „—enable-ftp“). Spomnimo, da je bilo v prejšnjih različicah že onemogočeno prikazovanje vsebine virov, nalaganih prek protokola „ftp://“ (na primer, preklican prikaz HTML dokumentov in datotek README), prepovedana uporaba FTP pri nalaganju podresursov iz dokumentov in prekinjena podpora proxy za FTP. Kljub temu je še vedno bila možnost nalaganja datotek prek neposrednih povezav in prikazovanje vsebine imenikov.
-
možnost uporabo vektorskih SVG slik kot ikona spletnega mesta (favicon). - V nastavitve je dodana možnost selektivnega onemogočanja posameznih tipov podatkov, ki se prenašajo med sinhronizacijo brskalnikov.
- Za centralizirano upravljane korporativne uporabnike je dodano pravilo , ki omogoča prepoved namestitve zunanjih razširitev na napravo.
- Implementirano enkratnega preverjanja celotne verige lastnosti ali klicev v JavaScript. Na primer, pri dostopu do „db.user.name.length“ je bilo prej potrebno postopno preveriti določitev vseh komponent, na primer, preko „if (db && db.user && db.user.name)“. Zdaj je mogoče s pomočjo operatorja „?.“ dostopati do vrednosti „db?.user?.name?.length“ brez predhodnih preverjanj in tak pristop ne bo povzročil napake. V primeru težav (če je kateri koli element obravnavan kot null ali undefined) bo vrnjena vrednost „undefined“.
- V JavaScript je predlagan nov logični operator združevanja „??“, ki vrne desni operan, če je levi operan NULL ali undefined, in obratno. Na primer, „const foo = bar ?? ‘privzeta niz'“ če je bar enak null, vrne niz ali vrednost bar v nasprotnem primeru, vključno, ko bar enak 0 in ‘‘, v nasprotnem primeru se razlikuje od operatorja „||“.
- V načinu Origin Trials (eksperimentalne možnosti, ki zahtevajo ločeno ) je predlagan API Content Indexing. Origin Trial pomeni možnost dela s tem API-jem iz aplikacij, naloženih s localhost ali 127.0.0.1, ali po registraciji in pridobitvi posebnega žetona, ki deluje omejen čas za določen spletni naslov. API , zagotavlja metapodatke o vsebini, ki je bila prej predpomnjena s spletnih aplikacijah, ki delujejo v načinu Progressive Web Apps (PWS). Aplikacija lahko shranjuje različne podatke na strani brskalnika, vključno s slikami, videi in članki, ter jih ob izgubi omrežne povezave uporablja s pomočjo API-jev Cache Storage in IndexedDB. Content Indexing API omogoča dodajanje, iskanje in brisanje takšnih virov. V brskalniku se ta API že uporablja za naštevanje seznamov strani in večpredstavnostnih podatkov, dostopnih za ogled v offline načinu.
- Stabilizovan je i sada se širi van Origin Trials programski interfejs , ki uporabniku omogoča izbiro vnosov iz imenika in prenos določenih podrobnosti o njih na spletno stran. Ob zahtevi se določi seznam lastnosti, ki jih je treba pridobiti. Te lastnosti so jasno prikazane uporabniku, ki se odloča, ali jih bo prenosil ali ne. API se lahko uporablja, na primer, v spletnih e-poštnih odjemalcih za izbiro prejemnikov za pošiljanje sporočila, v spletni aplikaciji z VoIP funkcijo za začetek klica na določen številko ali v družbenih omrežjih za iskanje že registriranih prijateljev. V okviru Origin Trials so bila predlagana nekatera nova lastnost Contact Picker: poleg prej dostopnih imena in priimka, e-pošte in telefonske številke je dodana možnost prenosa poštnega naslova in slike.
- V Web Workers nov način nalaganja modulov ECMAScript, ki omogoča izogibanje uporabi funkcije importScripts(), ki blokira delovanje delavca med obdelavo uvoženega skripta in ga izvaja v globalnem kontekstu. Nov način predvideva ustvarjanje posebnih modulov za Web Workers, ki podpirajo standardne mehanizme uvoza JavaScript in jih je mogoče nalagati dinamično, ne da bi blokirali izvajanje delavca. Za nalaganje modulov je v konstruktorju Worker predviden nova vrsta virov — 'module':
const worker = new Worker('worker.js', {
type: 'module'
}); - vgrajena možnost obdelave v JavaScriptu stisnjenih tokov, ki ne zahteva uporabe zunanjih knjižnic. Za stiskanje in razpakiranje so bili dodani API . Podprto je stiskanje z uporabo algoritmov gzip in deflate.
const compressionReadableStream
= inputReadableStream.pipeThrough(new CompressionStream('gzip')); - Dodana je CSS-lastnost ««, ki omogoča prelome na ravni katere koli pisne oznake, vključno s prelomi ob znakih ločila, predhodno določenimi presledki (<pre>) in sredi besed. Prav tako je dodan CSS-lastnost «» ki omogoča lomljenje nedeljivih zaporedij znakov kjer koli, če v vrsti ni mogoče najti primerne pozicije za prelom.
- Za medijski kontekst, obdelan na šifriran način, je bila реализована поддежка метода , ki zagotavlja informacije o sposobnostih brskalnika, povezanih z dekodiranjem zaščitenega vsebine (na primer, navedeni metoda se lahko uporablja za izbiro scenarijev visoke kakovosti ali varčne načine dekodiranja ob upoštevanju razpoložljive pasovne širine in velikosti zaslona).
- Dodana metoda , preko katerega lahko pridobite informacije o učinkovitosti predvajanja videa za prilagoditev bitne hitrosti, ločljivosti in drugih parametrov videa.
- V API , ki poenostavi integracijo z obstoječimi plačilnimi sistemi, je dodana možnost obdelave naslova in kontaktnih informacij zunanjemu obdelovalcu plačilnega sistema (aplikacija plačilnega sistema je lahko bolj natančna kot brskalnik).
- Dodana je podpora za HTTP glavo , ki omogoča pošiljanje dodatnih meta podatkov o vrsti vsebine, povezane z zahtevo (na primer, za zahtevo prek oznake img se navede tip «image», za pisave — «font», za skripte — «script», za stile — «style» itd.). Na podlagi navedene vrste lahko strežnik sprejme ukrepe za zaščito pred nekaterimi vrstami napadov (na primer, malo verjetno je, da bo povezava do obdelovalca za prenos denarja določena prek oznake img, zato takšnih zahtev ni treba obravnavati).
- V JavaScript motorju V8 shranjevanja kazalcev v kupu. Namesto polne 64-bitne vrednosti je zagotovljeno shranjevanje samo edinstvenih spodnjih bitov kazalca. Takšna optimizacija je omogočila zmanjšanje porabe pomnilnika v kupu za 40%, na račun zmanjšanja zmogljivosti za 3-8%.


- v orodjih za web-razvijalce:
- V spletni konzoli je prišla možnost ponastavitve izrazov let in class.
- Izboljšana orodja za razhroščevanje WebAssembly. Dodana je podpora za korak po korak razhroščane, določanje točk za ustavitev in analizo sledi sklada v izvorni kodi, na kateri je napisana aplikacija WebAssembly.
- Izboljšana plošča za analizo omrežne aktivnosti. Dodana je možnost ogleda verige klicev skript, povezanih z iniciacijo zahteve.
Dodani novi stolpci Path in URL, v katerih je prikazana absolutna pot in celoten URL za vsako omrežno sredstvo. Izbrani zahtevek je označen v pregledni diagaram.
- V zavihku Pogoji omrežja je dodana možnost za spremembo parametra User-Agent.
- Predlagan nov vmesnik za nastavitev plošče za revizijo.
- V zavihku je omogočen izbor zbiranja podatkov o pokritosti za vsako funkcijo ali za vsak blok kode (bolj podrobna statistika, ki pa zahteva več virov).
- V spletni konzoli je prišla možnost ponastavitve izrazov let in class.
- Dejanje manifesta AppCache (tehnologija za organizacijo delovanja spletne aplikacije v offline načinu) na trenutni imenik spletnega mesta (če je bil manifest naložen z www.example.com/foo/bar/, bo možnost prepisovanja URL delovala samo znotraj /foo/bar/). V Chrome 82 je načrtovano popolno odstranjevanje podpore za AppCache. Kot razlog navajajo željo, da se znebimo enega od vektorjev za izvedbo napadov, povezanih z medspletntim skriptiranjem. Namesto AppCache priporočajo uporabo API .
- podpora zastarelemu API WebVR 1.1, namesto katerega lahko uporabite API , ki omogoča dostop do komponent za ustvarjanje virtualne in obogatene resničnosti ter poenoti delovanje z različnimi razredi naprav, od stacionarnih slušalk virtualne resničnosti do rešitev na osnovi mobilnih naprav.
- Obdelovalci protokolov, povezani prek metod registerProtocolHandler() in unregisterProtocolHandler(), zdaj delujejo samo v varnem kontekstu (pri dostopu prek HTTPS).
Poleg novih funkcionalnosti in odpravljanja napak je v novi različici odpravljeno Številne od ranljivosti so bile ugotovljene z uporabo avtomatiziranega testiranja orodij , , , in . Kritičnih težav, ki omogočajo obvoz vseh ravni zaščite brskalnika in izvajanje kode v sistemu zunaj okolja peskovnika, ni bilo ugotovljenih. V okviru programa za izplačilo denarnih nagrad za odkrivanje ranljivosti je podjetje Google za trenutno različico izplačalo 37 nagrad v skupni vrednosti 48 tisoč dolarjev (ena nagrada $10000, tri nagrade $5000, tri nagrade $3000, štiri nagrade $2000, tri nagrade $1000 in šest nagrad $500). Velikost 17 nagrad še ni bila določena.
Izvor: opennet.ru


