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
Copiare automaticamente le secret tra più repository di GitHub
Gestire i null nelle reactive form tipizzate di Angular
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Short-circuiting della Pipeline in ASP.NET Core
Creare form tipizzati con Angular
Utilizzare Tailwind CSS all'interno di React: installazione
Creare alias per tipi generici e tuple in C#
Implementare il throttling in ASP.NET Core
Sfruttare lo streaming di una chiamata Http da Blazor
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Miglioramenti agli screen reader e al contrasto in Angular
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8