Come posso impostare il flag sicuro su un ASP.NET cookie di sessione, in modo che possa essere trasmesso solo su HTTPS e mai su HTTP pianura?Come posso impostare il flag di sicurezza su un cookie di sessione ASP.NET?
risposta
Ci sono due modi, uno httpCookies
elemento web.config
permette di attivare requireSSL
che trasmettono solo tutti i cookie tra cui sessione SSL solo ed anche all'interno di forme di autenticazione, ma se si attiva SSL su httpCookies è anche necessario attivarla anche la configurazione dei moduli interni.
Edit per chiarezza: mettere questo in <system.web>
<httpCookies requireSSL="true" />
Nell'elemento <system.web>
, aggiungere il seguente elemento:
<httpCookies requireSSL="true" />
Tuttavia, se si dispone di un elemento <forms>
in il tuo blocco system.web\authentication
, quindi questo sostituirà l'impostazione in httpCookies
, riportandolo al valore predefinito false
.
In tal caso, è necessario aggiungere l'attributo requireSSL="true"
all'elemento forme pure.
Così si finirà con:
<system.web>
<authentication mode="Forms">
<forms requireSSL="true">
<!-- forms content -->
</forms>
</authentication>
</system.web>
Vedi here e here per MSDN la documentazione di questi elementi.
Modifica minore (è necessario il nodo di autenticazione nel sistema btw.web e le forme):
È possibile evitare altre impostazioni web.config over-in sella alla tua
Inoltre, se esiste un elemento 'roleManager' il suo attributo' cookieRequireSSL = "true" 'dovrebbe anche essere impostato su true. Ref. https://msdn.microsoft.com/en-us/library/system.web.security.roles.cookierequiressl(v=vs.110).aspx –
Le cose si disordinato rapidamente se si sta parlando di codice di check-in in un ambiente aziendale. Abbiamo riscontrato che l'approccio migliore è quello di avere il web.Release.config contiene quanto segue:
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<authentication>
<forms xdt:Transform="Replace" timeout="20" requireSSL="true" />
</authentication>
</system.web>
In questo modo, gli sviluppatori non sono interessati (in esecuzione in debug), e solo i server che ottengono costruisce uscita richiedono che i cookie siano SSL.
- 1. Come posso impostare il flag "sicuro" per i cookie in un sito Web ASP.NET MVC?
- 2. Cookie di accesso/sessione, Ajax e sicurezza
- 3. Come impostare il tempo di scadenza del cookie della sessione di binari su "sessione"
- 4. È possibile impostare un ExpireTimeSpan del cookie di sicurezza ASP.NET su base utente?
- 5. Motivo per rinominare il nome del cookie di sessione ASP.NET?
- 6. Come impostare ASP.NET rappresentazione sicurezza
- 7. Cookie di sessione = cookie?
- 8. Cookie di sessione ASP.NET - specifica del dominio di base
- 9. Come eliminare il cookie di sessione?
- 10. imposta il cookie per scadere alla fine della sessione? asp.net
- 11. Posso rendere più sicuro il mio cookie ASP.NET FormsAuthentication associandolo all'ID di sessione?
- 12. Come funziona il flag "sicuro" dei cookie?
- 13. Cookie di sessione sicuro Expressj
- 14. Nessun cookie di sessione su Internet Explorer 9 Richieste AJAX
- 15. Come impostare la flag httpOnly in ngCookies?
- 16. Codice sicurezza sessione
- 17. Come posso impostare un valore di sessione in Capybara?
- 18. ASP.Net Store Password utente nel cookie di sessione?
- 19. Come analizzare HttpWebResponse.Headers.Keys per un ID sessione Set-Cookie restituito
- 20. Scadenza cookie sicura Tornado (aka cookie di sessione sicuro)
- 21. Cookie di sessione solo per rotte specifiche
- 22. Modifica scadenza sul cookie Stato sessione di ASP.NET
- 23. CakePHP Cookie/Problemi di sessione
- 24. sicurezza token di sessione parse.com
- 25. timeout sessione di sicurezza molla
- 26. Percorso cookie di sessione Tomcat 7
- 27. bandiere Sicuro e HttpOnly per cookie di sessione Websphere 7
- 28. impostazione cookie con flag HTTPOnly nel codeigniter
- 29. Perché non posso impostare un cookie e il reindirizzamento?
- 30. Cookie di sessione con indy
+1 Questo ha funzionato. Grazie! – Alex
+1 Per chiarire, questo è ciò che si dovrebbe aggiungere al web.config per impostare il flag sicuro il cookie di autenticazione su true ' ' –
Tr1stan
Si noti che questo dipende dalla vostra (a livello di server) configurazione. Ho portato l'area di test in basso con l'errore "L'applicazione è configurata per emettere cookie sicuri, che richiedono al browser di inviare la richiesta tramite SSL (protocollo https), tuttavia la richiesta corrente non è su SSL". Questo perché disponevamo di un proxy inverso e i browser ci collegavano tramite SSL, ma il proxy inverso al server IIS si trova sulla porta 80, quindi l'applicazione non pensava che fosse protetta. – mlhDev