2009-06-04 13 views
8

C'è un modo per contrassegnare i classici cookie ASP ASPSESSIONID * come sicuri? Sembra che il gestore ASP ISAPI aggiunga quel cookie di id di sessione dopo che la mia pagina è stata resa, in modo da mettere il codice alla fine della mia pagina per scorrere la raccolta Response.Cookie e contrassegnarli come sicuri non sembra toccare il cookie ASPSESSIONID * . Qualunque altro modo di farlo?Come proteggere il classico cookie ASPSESSIONID ASP?

+0

Risposta regolata, c'è un modo per farlo. – AnthonyWJones

risposta

9

La risposta è no non c'è Non c'è l'interfaccia utente standard fornita dal gestore IIS. Tuttavia, è possibile abilitare i cookie sicuri per SessionID tramite il valore AspKeepSessionIDSecure della metabase

+0

Poiché il mio sito si aspetta che tutte le comunicazioni avvengano tramite https, mi piacerebbe sapere che il cookie non verrà trasmesso in modo insicuro. Le pagine 8-10 del seguente documento spiegano perché è necessario il flag di sicurezza: http://www.isecpartners.com/files/web-session-management.pdf – slolife

+0

Supponendo che tutto il traffico sia su HTTPS, allora non sarà . Esiste la possibilità che ciò accada se l'utente rimuove la "s" da http e prova a parlare al tuo sito. Ma anche se fanno quello che è il danno in questo se il tuo sito utilizza solo Https? – AnthonyWJones

+0

Sono completamente d'accordo con te sul fatto che è molto inverosimile, ma uno dei nostri clienti, nel rivedere il nostro codice, lo ha sollevato come un problema. Non è un problema di alta priorità, ma qualcosa che volevo indagare. Anche se il server non parla http, il browser non lo sa e invierà il cookie su http poiché il bit sicuro non è impostato sul cookie. – slolife

2

[Modifica: è possibile ignorare quanto segue. Ho appena realizzato che stavi parlando di ASPSESSIONID.}

C'è un supporto integrato per i cookie sicuri.

Vedi http://msdn.microsoft.com/en-us/library/ms524757.aspx

Esempio (per ASP.Net, non Classic ASP):

Response.Cookies("setSecure") = "someValue" 
Response.Cookies("setSecure").Secure = true