Ho ispezionato la nostra applicazione Web con la funzione di controllo negli strumenti di sviluppo di Google Chrome.Come comprendere un avviso di sicurezza in google chrome per una risorsa statica servita da Asp.net
Prima ho ricevuto un avviso che indica che stiamo servendo il nostro contenuto statico non memorizzabile nella cache: "Le seguenti risorse sono esplicitamente non memorizzabili nella cache.
Per risolvere questo ho aggiunto questo frammento al nostro web-config
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
come raccomandato in questo post del blog: http://blogs.msdn.com/b/carlosag/archive/2009/06/09/are-you-caching-your-images-and-scripts-iis-seo-can-tell-you.aspx
Se ora comincio una nuova revisione in Google Chrome, ho un nuovo avviso:
Le seguenti risorse memorabili nella cache contengono un'intestazione Set-Cookie . Questa vulnerabilità alla sicurezza può causare la condivisione dei cookie da parte di utenti multipli.
Puoi spiegare la potenziale minaccia alla sicurezza e quale è una possibile soluzione in Asp.net?
[Update]
Dopo un po 'di ricerche, credo che questo potrebbe essere correlato a questa domanda:
Why is ASP.NET forms authentication setting cookies on a static image request?
ma non riesco a mettere insieme il puzzle. La situazione non è esattamente la stessa, mentre la nostra applicazione potrebbe essere configurata per utilizzare l'autenticazione dei moduli, ho ricevuto l'avviso durante l'utilizzo dell'autenticazione di Windows.
Sei sicuro che i due sono collegati all'evento? La minaccia alla sicurezza è abbastanza chiara, lo stesso cookie potrebbe essere utilizzato da più utenti, ovviamente non si tratta di un problema su un singolo computer. –
@Ramhound Almeno gli strumenti di Chrome pensano che ci sia una connessione.Se rimuovo l'istruzione cache da webconfig, ricevo invece un altro avviso: Le seguenti risorse sono esplicitamente non memorizzabili nella cache. Considerare la possibilità di renderli memorizzabili nella cache se possibile: –
È possibile aggiungere un'intestazione 'Cache-Control' con un valore 'private', che indica che la risorsa può essere memorizzata nella cache solo da un client ma non da macchine intermedie. In questo modo lo stesso cookie non dovrebbe essere restituito a client diversi. –