Güvenli bayrağını bir ASP.NET Oturum Çerezinde nasıl ayarlayabilirim, böylece yalnızca HTTPS üzerinden iletilecek ve hiç bir zaman HTTP üzerinden iletilemez mi?Güvenli bayrağı bir ASP.NET oturum çerezinde nasıl ayarlayabilirim?
cevap
iki yolu vardır web.config
bir httpCookies
eleman sadece SSL oturumu dahil tüm çerezleri iletmek hangi requireSSL
açmak için izin veren tek ve aynı zamanda iç kimlik oluşturur, ancak httpcookies SSL açarsanız siz de açmalısınız iç formları da yapılandırır. Bir <forms>
elemanı içinde varsa, Ancak
<httpCookies requireSSL="true" />
: netlik için
Düzenleme: <system.web>
elemanı olarak <system.web>
<httpCookies requireSSL="true" />
koy, aşağıdaki öğeyi ekleyin system.web\authentication
bloğunuz, daha sonraayarını geçersiz kılar 210, varsayılan false
'a geri ayarlanıyor.
Bu durumda, form öğelerine de requireSSL="true"
özniteliğini eklemeniz gerekir.
Yani ile sona erecek:
<system.web>
<authentication mode="Forms">
<forms requireSSL="true">
<!-- forms content -->
</forms>
</authentication>
</system.web>
Küçük düzenleme (orada btw sisteminde auth node gerekir.Web ve formları):
Sen aşırı sürme diğer web.config ayarları önlemek için,
Ayrıca, eğer bir "roleManager" elemanı varsa onun cookieRequireSSL = "true" olması gerekir ayrıca doğru olarak ayarlanmış. Ref. https://msdn.microsoft.com/en-us/library/system.web.security.roles.cookierequiressl(v=vs.110).aspx –
Bir kuruluş ortamında check-in kodu hakkında konuşuyorsanız, işler çabuk dağılır. Biz iyi yaklaşım aşağıdaki web.Release.config ihtiva sahip olduğunu tespit ettik:
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<authentication>
<forms xdt:Transform="Replace" timeout="20" requireSSL="true" />
</authentication>
</system.web>
, geliştiriciler etkilenmez Böylece (Debug çalıştıran) ve aldığım tek sunucuları Yayın kurar Çerezlerin SSL olması gerekiyor.
- 1. Expressjs güvenli oturum çerezi
- 2. Tomcat'i güvenli JSESSIONID çerezini http
- 3. CSRF Doğrulama Jetonu: oturum kimliği güvenli mi? asp.net olarak
- 4. Spring MVC + Spring Güvenli bir oturum açma hizmetiyle oturum açın
- 5. C: Bir Dosya için Güvenli Oturum Açma
- 6. ngCookies'de httpOnly bayrağı nasıl ayarlanır?
- 7. Özel verileri Kimlik Çerezinde saklama
- 8. RavenDB ASP.NET oturum sağlayıcısı?
- 9. ASP.NET - Oturum değişkenlerinin kaybolması
- 10. NSIS Yükleyici Hata Bayrağı
- 11. Çerezin son kullanma tarihini C# içinde "oturum" olarak nasıl ayarlayabilirim?
- 12. Dizide ASP.NET MVC'de oturum nasıl saklanır?
- 13. Asp.net Core'da oturum zaman aşımı nasıl belirlenir?
- 14. ASP.NET Oturum Durumu Performansı Göstergeler
- 15. Bir ASP.NET kullanıcısı programsal olarak oturum kapatma
- 16. Raylar: Verileri "oturum" alanına kaydetmek güvenli midir?
- 17. Tornado güvenli çerez son (aka güvenli oturum tanımlama) Ben Tornado tarayıcı kapatıldığında sona güvenli bir çerez bırakır Nasıl
- 18. ASP.NET oturum durumu sunucusu ölçeklendirme
- 19. Tek Oturum Açma ASP.NET MVC
- 20. self.bitmask | = bayrağı bir seçenek eklerse, nasıl kaldırılır?
- 21. ASP.NET Üyeliği: kullanıcı oturum açmış olarak nasıl ayarlanacağı
- 22. Boole'ye nasıl bir değişken ayarlayabilirim?
- 23. ASP.net TextBox TextMode = "Tarih", Codebehind'den değeri nasıl ayarlayabilirim?
- 24. current_user öğesini middleware'de nasıl ayarlayabilirim?
- 25. Angularjs - Bir hizmette modül değerlerini nasıl ayarlayabilirim?
- 26. Güvenli Olmayan Kod Derleme hatası .Net Core'da allowunsafe bayrağı ayarlandıktan sonra bile proj.json
- 27. Çıkarma bayrağı
- 28. RedirectToAction kullanırken protokolü nasıl ayarlayabilirim?
- 29. Strftime çağrılmadan önce saat dilimini nasıl ayarlayabilirim?
- 30. Kullanıcı başına oturum zaman aşımını özelleştirme - ASP.NET
+1 Bu çalıştı. Teşekkürler! – Alex
+1 Netleştirmek gerekirse, auth çerezinde güvenli bayrağı true olarak ayarlamak için web.config dosyasına eklemeniz gereken budur. ' –
Tr1stan
Bu durumun (sunucu düzeyinize bağlı olduğunu unutmayın)) yapılandırma. Test Bölgesini "Güvenli tanımlama bilgileri yayınlayacak şekilde yapılandırıldı. Bu çerezler tarayıcının SSL üzerinden istek göndermesini gerektirir (https protokolü). Ancak geçerli istek SSL üzerinden değil." Bunun nedeni, ters bir proxy uygulamasının mevcut olması ve tarayıcıların SSL üzerinden bağlanabilmesi, ancak IIS sunucusunun ters proxy'sinin 80 numaralı bağlantı noktasından geçmesiydi, dolayısıyla uygulama güvenli olduğunu düşünmüyordu. – mlhDev