benim MVC uygulamanın bir parçası olarak çerezleri kuruyorum: ArtıkASP MVC 3 çerez kaybetme HttpOnly ve Güvenli bayrakları
var cookie = new HttpCookie(CookieName, encryptedData)
{
Path = FormsAuthentication.FormsCookiePath,
Domain = CookieDomain,
Expires = authenticationTicket.Expiration,
HttpOnly = true,
Secure = IsSecure // true
};
response.Cookies.Add(cookie);
ben hata ayıklama eğer onun hepsi iyi çalışıyor herhangi bir sorun ve onun ekledi ve thats ince olduğunu görüyoruz çok. Ancak, tarayıcıya ulaştığı bazı nedenlerden dolayı, HttpOnly bayrağı veya Güvenli bayrak kümesi yoktur. Şimdi burada
<httpCookies httpOnlyCookies="true" requireSSL="true" />
tepki tarayıcının görünür: Yani
Ben System.Web altında çerez web.config girişinde HttpOnly ve Güvenli bayrakları ayarı denedim ... biraz şaşkın im onu alır:
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
Burada bir şey eksik miyim? ya da olmam gereken bir yere koymadığım bir şey var mı? CORS'i de kullanıyorum çünkü bu çerez bir web sunucusundan bir kimlik doğrulama mekanizması olarak yayınlanıyor. SSL etkin ve aramalar için https ile kullanılıyor. Güvenli çerezleri kapatıp http kullansam bile, HTTPOnly bayrağı da ayarlanmaz, ben de şaşırdım.
=== Güncelleme ===
çift o ANCAK, sana yanlış bilgi görünür HttpOnly tepki çerezi almak ilk kez doğru sunucudan aşağı gönderilir kontrol olması! ajax araması daha sonra cookie'yi sunucuya gönderdiğinde, httponly flag'ı eklemiyor gibi görünmektedir, ki bu da atılan çerezin artık güvenli olmadığı anlamına gelir. Çerezin güvenli kısmı ilk yanıtın üzerine gönderilmez, ancak en azından bu, hepsine biraz daha fazla bağlam ekler.
sayesinde bu alışkanlık istenen davranışı yeniden uygulayın HttpOnly'yi etkileyecek mi? ya da bu formlarda ya da başka bir şey üzerinde ayarlanması gerekiyor mu? Bunu, her bir çerez için MANUEL olarak ayarlı olarak çalışıyorsa, garip buluyorum, bu yüzden girilen ayrıntıları neden kabul etmeyeceğini bilmiyorum. – Grofit
Formlar biraz işe yaramazsa, sadece web.config'un geçerli olmadığını, ancak belgelerin MSDN'de yüklenmediğini söyler, bu nedenle gerekli bazı alt öğeler varsa tam olarak emin olmaz. – Grofit
Bu benim soruma cevap olmasa da, eminim ki buraya gelen çoğu insan yukarıda listelenen çözümlere ihtiyaç duyacaktır, bu yüzden sizi cevap olarak işaretleyecektir. – Grofit