Sto installando i cookie come parte della mia applicazione MVC:ASP MVC 3 cookie di perdere HttpOnly e bandiere Sicuro
var cookie = new HttpCookie(CookieName, encryptedData)
{
Path = FormsAuthentication.FormsCookiePath,
Domain = CookieDomain,
Expires = authenticationTicket.Expiration,
HttpOnly = true,
Secure = IsSecure // true
};
response.Cookies.Add(cookie);
Ora, se metto a punto vedo che è tutto funziona bene, nessun problema e il suo aggiunto e questo è bene pure. Tuttavia, per qualche motivo, quando raggiunge effettivamente il browser, non vi è alcun flag HttpOnly o flag sicuro. Così Im un po 'perplesso ...
ho provato a fissare le HttpOnly e fissare le bandiere nella voce biscotto web.config sotto System.Web:
<httpCookies httpOnlyCookies="true" requireSSL="true" />
Ora ecco come la risposta appare quando il browser lo riceve:
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Max-Age: 10000
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type, x-requested-with, *
Access-Control-Allow-Origin: http://localhost:34567
X-AspNetMvc-Version: 3.0
X-AspNet-Version: 4.0.30319
Set-Cookie: myCookie=53BA8AF84835A81E014B9174329D8543FBB6029B71C463C6FC1305D9F966F28EAA058FE103325C0F10A3012480FB0EF3F6C0BAC4703A6A6B725F383ADA35A5C125A0438FC42CADCB0DAB77953C967E6660E51C4113C6545220A0C2F86230F446D159D523BBE9CA4D9419A67BC44D23B9C4D0974DF2ED66C47EA7308D8E42E1C2280EA6059A23303E3BCBDF28F6BD4A3DFA92FFAB33DDAC8EC05D99310D26FBD6310252156CD28B89386B0D483D6D2E295EF33487E64468655371CC446E0B5DDBF12B3AA8218AF1FA929A98638A1AC729BA60815B86EAD9624ED1787172B585BE4E457C3568AB6EAAF4865E8468D04336FA7340AAC1BA75162FB322D436DC9BF50466F2F0FB3464ECF41C6C1F7001639DFE2AB2AD9CBFB65A292FE5FA42783DF331AA4641432647BA9672FE6D4C15F830E4DF8B38605852BCB15E5B01B862D966E2FD1D620730312982DB8AB4CE5EE0D0E40E6C3F5234DE5EBFA594036D912F07C3798ED429A2552AD6C4B9EC10B90749850CBDEC97F0BF7E2E43CB3991608C5D533B6EA9F8D0A7AD949B42CD3BAA13DEE99C330121B3D868B412A3435FA01C7F223641CFE441A2E07F5DFB8B23F053CBA13F5E1262A07FBFD4EC4BADF9BD5898; expires=Wed, 27-Feb-2013 19:15:24 GMT; path=/
Date: Wed, 27 Feb 2013 18:45:24 GMT
Content-Length: 2
Quindi mi manca qualcosa qui? o c'è qualcosa che non sto ponendo da qualche parte che dovrei essere? Sto anche utilizzando CORS perché questo cookie viene rilasciato da un server web come meccanismo di autenticazione. SSL è abilitato e viene anche utilizzato tramite https per le chiamate. Anche se spengo i cookie di sicurezza e uso http, anche il flag HTTPOnly non viene impostato, quindi sono sconcertato.
Aggiornamento === ===
Dopo aver ricontrollato sembra ti ho male informato, la risposta HttpOnly viene inviato dal server in modo corretto la prima volta che si riceve il cookie, TUTTAVIA! quando una chiamata ajax invia il cookie al server, sembra che non aggiunga il flag httponly, il che significa che il cookie gettato non è più sicuro. La parte sicura del cookie non viene inviata alla prima risposta, ma almeno questo aggiunge un po 'più di contesto a tutto questo.
Grazie darà un andare, questa abitudine effetto HttpOnly però lo farà? o deve essere impostato su moduli o qualcosa del genere? Trovo strano se questo funziona come IMPOSTAZIONI MANUALMENTE per cookie, quindi non so perché non accetterà i dettagli inseriti. – Grofit
Il bit dei moduli non funziona, solo mi dice che il web.config non è valido ma la documentazione non verrà caricata su MSDN, quindi non è del tutto sicuro se ci sono alcuni elementi figlio richiesti. – Grofit
Anche se questa non era la risposta alla mia domanda, sono sicuro che la maggior parte delle persone che vengono qui avrà bisogno della soluzione che elencherai sopra, quindi ti segnerà come risposta. – Grofit