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
Generare un hash con SHA-3 in .NET
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Le novità di Angular: i miglioramenti alla CLI
Definire stili a livello di libreria in Angular
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Usare le collection expression per inizializzare una lista di oggetti in C#
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Miglioramenti nell'accessibilità con Angular CDK
Sostituire la GitHub Action di login su private registry