Rilascio di Chrome 80

Azienda Google ha presentato rilascio del browser web Chrome 80. In contemporanea disponibile uscita stabile di un progetto open source Chromium, che funge da base per Chrome. Il browser Chrome si distingue utilizza loghi Google, ha un sistema di invio notifiche in caso di crash, la possibilità di caricare il modulo Flash su richiesta, moduli per la riproduzione di contenuti video protetti (DRM), un sistema di aggiornamento automatico e un invio durante la ricerca parametri RLZ. La prossima versione di Chrome 81 è prevista per il 17 marzo.

Principali cambiamenti in Chrome 80:

  • Per una piccola percentuale di utenti è stata proposta una funzione di raggruppamento delle schede, che consente di unire più schede simili in gruppi visivamente separati. A ciascun gruppo è possibile assegnare un proprio colore e un nome. Gli utenti che non rientrano nella prima ondata di attivazione possono abilitare il supporto per il raggruppamento tramite l'opzione «chrome://flags/#tab-groups».

    Rilascio di Chrome 80
  • È stato aggiunto il supporto per la funzionalità Scroll-To-Text, che consente di creare collegamenti a singole parole o frasi, senza dover specificare etichette nel documento utilizzando il tag «a name» o la proprietà «id». La sintassi di tali collegamenti è prevista per essere approvata come standard web, attualmente in fase di bozza. La maschera per il passaggio (essenzialmente viene eseguita una ricerca con scorrimento) è separata dall'ancora normale dal carattere «:~:». Ad esempio, aprendo il collegamento «https://opennet.ru/52312/#:~:text=Chromе» la pagina verrà spostata nella posizione della prima occorrenza della parola «Chromе» e questa parola verrà evidenziata.
  • Applicato un vincolo più rigoroso sulla trasmissione dei Cookie tra i siti, per le richieste non-HTTPS, che vieta il trattamento dei Cookie di terze parti impostati quando si accede a siti diversi dal dominio della pagina corrente. Tali Cookie vengono utilizzati per monitorare il movimento degli utenti tra i siti nel codice delle reti pubblicitarie, dei widget dei social media e dei sistemi di web analytics. Ricordiamo che per gestire la trasmissione dei Cookie viene utilizzato l'attributo SameSite specificato nell'intestazione Set-Cookie, il quale ora è impostato di default su «SameSite=Lax», limitando l'invio dei Cookie per le sotto-richieste cross-site, come le richieste di immagini o il caricamento di contenuti tramite iframe da un altro sito. I siti possono sovrascrivere la modalità predefinita di SameSite, impostando esplicitamente il valore SameSite=None al momento della creazione dei Cookie. Tuttavia, il valore SameSite=None per i Cookie può essere impostato solo in modalità Sicura (valido per connessioni tramite HTTPS). La modifica inizierà in modo graduale essere utilizzato dal 17 febbraio, inizialmente per una piccola percentuale di utenti, e poi ampliando gradualmente la copertura.
  • È stata aggiunta protezione dalle fastidiose notifiche associate alla conferma dei permessi. Poiché attività simili, come le richieste di spam per ricevere notifiche push, interrompono il lavoro dell'utente e distraggono l'attenzione dalle azioni nei dialoghi di conferma, in Chrome 80 invece di un dialogo separato, ora potrebbe essere visualizzato un suggerimento informativo nella barra degli indirizzi con un avviso sul blocco della richiesta di permessi, che poi si riduce in un indicatore con l'immagine di una campana barrata. Cliccando sull'indicatore si può attivare o rifiutare il permesso richiesto in qualsiasi momento. Automaticamente, la nuova modalità sarà attivata selettivamente per gli utenti che in precedenza bloccavano solitamente tali richieste e per i siti con un alto tasso di rifiuto delle richieste. Per attivare la nuova modalità per tutte le richieste, nelle impostazioni è stata aggiunta una speciale opzione (chrome://flags/#quiet-notification-prompts).

    Rilascio di Chrome 80
  • Proibito visualizzazione delle finestre popup (chiamata del metodo window.open()) e invio di richieste asincrone XMLHttpRequest nei gestori degli eventi di chiusura o nascondimento della pagina (unload, beforeunload, pagehide e visibilitychange);
  • È stata proposta la protezione iniziale da caricamenti di contenuti multimediali misti (quando nelle pagine HTTPS vengono caricati risorse tramite il protocollo http://). Nelle pagine aperte tramite HTTPS, ora i collegamenti "http://" saranno automaticamente sostituiti con "https://" nei blocchi relativi alla riproduzione di file audio e video. Se una risorsa audio o video non è disponibile in https, il suo caricamento viene bloccato (è possibile segnalarne il blocco manualmente tramite il menu disponibile tramite il simbolo del lucchetto nella barra degli indirizzi). Le immagini continueranno a caricarsi senza modifiche (la sostituzione automatica sarà applicata in Chrome 81), ma per la sostituzione in https o il blocco delle immagini, gli sviluppatori di siti hanno a disposizione le proprietà CSP upgrade-insecure-requests e block-all-mixed-content. Per gli script e gli iframe, il blocco dei contenuti misti era già stato implementato in precedenza.

    È iniziata la disattivazione graduale

  • del supporto FTP. Di default, il supporto FTP rimane per ora, ma verrà effettuata disattivato realizzato un esperimento nel quale il supporto FTP sarà disabilitato per una certa percentuale di utenti (per riattivarlo sarà necessario avviare il browser con l'opzione «—enable-ftp»). Ricordiamo che nelle versioni precedenti è stata già disabilitata la visualizzazione dei contenuti delle risorse caricate tramite il protocollo «ftp://» (ad esempio, è stata interrotta la visualizzazione di documenti HTML e file README), è stato vietato l'uso di FTP per il caricamento di sottorisorse dai documenti e il supporto per il proxy FTP è stato disabilitato. Tuttavia, fino ad ora è rimasta la possibilità di caricare file tramite link diretti e di visualizzare il contenuto delle directory.
  • È stata aggiunta
    la possibilità di utilizzare immagini SVG vettoriali come icona del sito (favicon).
  • Nelle impostazioni è stata aggiunta la possibilità di disabilitare selettivamente determinati tipi di dati trasmessi durante la sincronizzazione tra i browser.
  • Per gli utenti aziendali amministrati centralmente è stata aggiunta una regola BlockExternalExtensions, che consente di vietare l'installazione di estensioni esterne sul dispositivo.
  • supporto per l'interfaccia la possibilità una verifica simultanea dell'intera catena di proprietà o chiamate in JavaScript. Ad esempio, per accedere a «db.user.name.length» in precedenza era necessario controllare gradualmente la definizione di tutte le parti costitutive, ad esempio tramite «if (db && db.user && db.user.name)». Ora, con l'operatore «?.», è possibile accedere al valore «db?.user?.name?.length» senza controlli preliminari e questo accesso non genererà un errore. In caso di problemi (se un elemento è stato elaborato come null o undefined), il risultato sarà «undefined».
  • In JavaScript è stato proposto un nuovo operatore logico di unione «??», che restituisce l'operando destro se l'operando sinistro ha un valore NULL o undefined, e viceversa. Ad esempio, «const foo = bar ?? ‘stringa predefinita'» se bar è uguale a null, restituirà la stringa o il valore di bar altrimenti, compreso quando bar è uguale a 0 e ‘ ‘, a differenza dell'operatore «||».
  • In modalità Origin Trials (funzionalità sperimentali che richiedono una registrazione separata attivazione) è stato proposto l'API Content Indexing. L'Origin Trial implica la possibilità di utilizzare l'API specificata da applicazioni caricate da localhost o 127.0.0.1, oppure dopo aver completato la registrazione e ottenuto un token speciale, che ha una validità limitata per un sito specifico. L'API Content Indexing, fornisce metadati sul contenuto che è stato memorizzato nella cache dalle applicazioni web funzionanti in modalità Progressive Web Apps (PWA). L'applicazione può memorizzare nel browser vari dati, tra cui immagini, video e articoli, e in caso di perdita della connessione di rete, può utilizzare questi dati tramite le API Cache Storage e IndexedDB. L'API Content Indexing consente di aggiungere, trovare e rimuovere queste risorse. Nel browser, questa API è già utilizzata per elencare le pagine e i dati multimediali disponibili per la visualizzazione offline.

    Rilascio di Chrome 80
  • È stato stabilizzato e ora è distribuito al di fuori degli Origin Trials l'interfaccia di programmazione Contact Picker, che consente all'utente di selezionare contatti dalla rubrica e di inviare dettagli specifici su di essi al sito. Durante la richiesta, viene definito un elenco di proprietà necessarie. Queste proprietà vengono presentate esplicitamente all'utente, che decide se inviarle o meno. L'API può essere utilizzata, ad esempio, in un client web di posta per selezionare i destinatari di una lettera in partenza, in un'applicazione web con funzione VoIP per avviare una chiamata a un numero specifico o in un social network per cercare amici già registrati. Durante le Origin Trials, sono state proposte alcune nuove proprietà del Contact Picker: oltre ai precedenti nome e cognome, email e numero di telefono, è stata aggiunta la possibilità di inviare l'indirizzo postale e un'immagine.
  • In Web Workers è stato proposto un nuovo modo di caricare moduli ECMAScript, che evita l'uso della funzione importScripts(), che blocca l'esecuzione del worker durante l'elaborazione dello script importato ed esegue il codice nel contesto globale. Il nuovo metodo prevede la creazione di moduli speciali per i Web Workers, che supportano i meccanismi standard di importazione JavaScript e possono essere caricati dinamicamente senza bloccare l'esecuzione del worker. Per il caricamento dei moduli, nel costruttore Worker è previsto un nuovo tipo di risorsa: ‘module’:

    const worker = new Worker(‘worker.js’, {
    type: ‘module’
    });

  • supporto per l'interfaccia una funzionalità integrata in JavaScript per la gestione di stream compressi, che non richiede l'uso di librerie esterne. Per la compressione e la decompressione, sono stati aggiunti gli API CompressionStream e DecompressionStream. Supporta la compressione utilizzando gli algoritmi gzip e deflate.

    const compressionReadableStream
    = inputReadableStream.pipeThrough(new CompressionStream(‘gzip’));

  • È stata aggiunta la proprietà CSS “line-break: anywhere«, consentendo interruzioni a livello di qualsiasi carattere tipografico, comprese le interruzioni accanto ai simboli di punteggiatura, spazi predefiniti (<pre>) e all'interno delle parole. È stato inoltre aggiunto il CSS-property «overflow-wrap: anywhere» che consente di interrompere sequenze di caratteri non interrotte in qualsiasi punto, se nella stringa non è stata trovata una posizione adatta per l'interruzione.
  • Per il contesto multimediale, elaborato in forma crittografata, è stato implementato il supporto per il metodo MediaCapabilities.decodingInfo(), che fornisce informazioni sulle capacità del browser relative alla decodifica di contenuti protetti (ad esempio, il metodo specificato può essere utilizzato per selezionare scenari di decodifica ad alta qualità o a basso consumo energetico, tenendo conto della larghezza di banda disponibile e della dimensione dello schermo).
  • È stato aggiunto il metodo HTMLVideoElement.getVideoPlaybackQuality(), tramite il quale è possibile ottenere informazioni sulle prestazioni della riproduzione video per regolare bitrate, risoluzione e altri parametri video.
  • Nell'API Payment Handler, che semplifica l'integrazione con i sistemi di pagamento esistenti, è stata aggiunta la possibilità delegazione di elaborare indirizzi e informazioni di contatto a un elaboratore di pagamenti esterno (l'applicazione del sistema di pagamento potrebbe avere informazioni più precise rispetto al browser).
  • È stato aggiunto il supporto per l'intestazione HTTP Sec-Fetch-Dest, che consente di inviare metadati aggiuntivi sul tipo di contenuto associato alla richiesta (ad esempio, per una richiesta tramite un tag img viene indicato il tipo «image», per i font — «font», per gli script — «script», per gli stili — «style» e così via). In base al tipo specificato, il server può prendere provvedimenti per proteggersi da alcuni tipi di attacchi (ad esempio, è improbabile che un link a un elaboratore per inviare denaro venga fornito tramite un tag img, quindi tali richieste non devono essere elaborate).
  • Nel motore JavaScript V8 sono state effettuate ottimizzazioni nella memorizzazione dei puntatori nell'heap. Invece di memorizzare il valore completo a 64 bit, viene memorizzato solo i bit inferiori unici del puntatore. Questa ottimizzazione ha consentito di ridurre il consumo di memoria nell'heap del 40%, a fronte di una riduzione delle prestazioni del 3-8%.
    Rilascio di Chrome 80

    Rilascio di Chrome 80
  • Modifiche negli strumenti per gli sviluppatori web:
    • Nella console web è stata aggiunta la possibilità di ridefinire le espressioni let e class.

      Rilascio di Chrome 80
    • Sono stati migliorati gli strumenti di debug per WebAssembly. È stato aggiunto il supporto per DWARF per il debug passo-passo, l'impostazione dei punti di interruzione e l'analisi delle tracce dello stack nel codice sorgente su cui è scritto l'applicativo WebAssembly.

      Rilascio di Chrome 80
    • Migliorata la dashboard per l'analisi dell'attività di rete. Aggiunta la possibilità di visualizzare la catena di chiamata degli script correlati all'inizializzazione della richiesta.

      Rilascio di Chrome 80

      Aggiunte nuove colonne Path e URL, che mostrano il percorso assoluto e l'URL completo per ogni risorsa di rete. Garantita l'evidenziazione della richiesta selezionata nel diagramma di riepilogo.

      Rilascio di Chrome 80
    • Nella scheda Condizioni di rete è stata aggiunta l'opzione per modificare il parametro User-Agent.

      Rilascio di Chrome 80
    • Proposto un nuovo interface per la configurazione della dashboard di audit.
      Rilascio di Chrome 80
    • Nella scheda Copertura offerta la scelta di raccogliere dati di copertura per ogni funzione o per ogni blocco di codice (statistiche più dettagliate, ma richiede maggiori risorse).

      Rilascio di Chrome 80
  • L'azione del manifesto AppCache (tecnologia per l'organizzazione del lavoro delle applicazioni web in modalità offline) è limitata alla directory corrente del sito (se il manifesto è stato caricato da www.example.com/foo/bar/, la possibilità di sovrascrivere l'URL sarà valida solo all'interno di /foo/bar/). Con Chrome 82, il supporto per AppCache è previsto che venga rimosso completamente. La ragione è il desiderio di eliminare uno dei vettori per attacchi di scripting inter-sito. Si raccomanda di utilizzare l'API Cache.
  • Interrotta supporto per l'API obsoleta WebVR 1.1, per la quale è possibile utilizzare l'API WebXR Device, che consente di accedere ai componenti per la creazione di realtà virtuale e aumentata e unifica il lavoro con diverse classi di dispositivi, dagli visori di realtà virtuale fissi a soluzioni basate su dispositivi mobili.
  • I gestori di protocollo, registrati tramite i metodi registerProtocolHandler() e unregisterProtocolHandler(), ora possono funzionare solo in un contesto sicuro (accesso tramite HTTPS).

Oltre alle nuove funzionalità e alla correzione di bug, nella nuova versione sono stati risolti 56 vulnerabilità. Molte delle vulnerabilità sono state identificate grazie ai test automatizzati con strumenti quali AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono stati identificati problemi critici che permettano di eludere tutti i livelli di protezione del browser ed eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma di premi per la scoperta di vulnerabilità per la versione attuale, Google ha pagato 37 premi per un totale di 48 mila dollari USA (un premio di $10000, tre premi di $5000, tre premi di $3000, quattro premi di $2000, tre premi di $1000 e sei premi di $500). L'importo di 17 premi non è ancora determinato.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster