Warum ist die Standardeinstellung für die Eigenschaft requireSSL von FormsAuthentication falsch?

Hinweis: Dies ist KEINE ASP.NET MVC-Frage im Zusammenhang mit dem Attribut [RequireSSL]. Das ist ganz anders - hat nur den gleichen Namen.

Die ASP.NET Forms-Authentifizierung hat dieRequireSSL Eigenschaft, die erfordert, dass das Authentifizierungscookie für die ASP.NET-Mitgliedschaft immer nur über SSL gesendet wird. Dies soll verhindern, dass jemand das Cookie stiehlt (z. B. durch Netzwerk-Sniffing) und sich als Benutzer ausgibt.

Ich frage mich also - mit all den sicherheitsbewussten Änderungen, die MS vorgenommen hat (wie zum BeispielhttpNur Cookies default) warum istrequireSSL nicht voreingestellt auftrue ?

Wird das Schnüffeln von Cookies als Sicherheitsrisiko angesehen?

Wird es als akzeptables Risiko angesehen, es falsch zu lassen, es sei denn, die Verbindung ermöglicht mir den Zugriff auf sichere / persönliche Daten? Wenn es nicht akzeptabel ist - wie soll ich einen Benutzer zu http zurückschicken und trotzdem wissen, wer er ist?

Stellen Sie sicher, dass Sie SSL für alle Seiten verwenden, für die authentifizierter Zugriff erforderlich ist, und beschränken Sie Formularauthentifizierungstickets auf SSL-Kanäle, indem Sie requireSSL = "true" für das Element festlegen, damit keine Formularauthentifizierungscookies erfasst und manipuliert werden.

So beschränken Sie Formularauthentifizierungscookies auf SSL-Kanäle

Setzen Sie requireSSL = "true" für das Element, wie im folgenden Code gezeigt.

Durch Festlegen von requireSSL = "true" legen Sie die sichere Cookie-Eigenschaft fest, die bestimmt, ob Browser das Cookie an den Server zurücksenden sollen. Wenn die sichere Eigenschaft festgelegt ist, wird das Cookie vom Browser nur an eine sichere Seite gesendet, die über eine HTTPS-URL angefordert wird.

Hinweis: Wenn Sie Sitzungen ohne Cookies verwenden, müssen Sie sicherstellen, dass das Authentifizierungsticket niemals über einen ungesicherten Kanal übertragen wird.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage