Nello scorso script (https://www.aspitalia.com/script/1258/Compressione-GZip-ASP.NET-Core.aspx) abbiamo visto come attivare il supporto a GZip in ASP.NET Core.
Una nota importante riguarda HTTPS: per default, infatti, il middleware di compressione non funziona se l'applicazione viene acceduta via HTTPS. Questo comportamento è stato imposto per motivi precauzionali, per l'esistenza di un potenziale attacco al protocollo HTTPS denominato CRIME/BREACH.
Dato che HTTPS rende riservato il contenuto della risposta ma non la sua dimensione in byte, è teoricamente possibile per un attaccante determinare se un testo è contenuto nella risposta semplicemente osservando il variare della dimensione di un contenuto compresso.
Maggiori dettagli sono disponibili in questa pagina del sito ArsTechnica (https://arstechnica.com/security/2013/08/gone-in-30-seconds-new-attack-plucks-secrets-from-https-protected-pages/).
L'attacco è rivolto solo a risposte che contengono dati sensibili, come indirizzi e-mail, carte di credito o token CSRF. Per tutti gli altri tipi di contenuto, come pagine statiche HTML, immagini SVG o file CSS e JS, possiamo tranquillamente abilitare la compressione su HTTPS modificando in questo modo l'invocazione a AddResponseCompression che abbiamo visto in precedenza.
services.AddResponseCompression(options =>
{
options.EnableForHttps = true;
});
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Potenziare la ricerca su Cosmos DB con Full Text Search
Gestire i dati con Azure Cosmos DB Data Explorer
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Loggare le query più lente con Entity Framework
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Utilizzare i variable font nel CSS
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Migliorare l'organizzazione delle risorse con Azure Policy
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework