Wie kann ich das Secure-Flag für einen ASP.NET-Sitzungscookie setzen, sodass er nur über HTTPS und niemals über einfaches HTTP übertragen wird?Wie kann ich das Secure-Flag für einen ASP.NET-Sitzungscookie festlegen?
Antwort
Es gibt zwei Möglichkeiten, ein httpCookies
Element in web.config
können Sie auf requireSSL
einzuschalten, die nur alle Cookies einschließlich Sitzung in SSL übertragen nur und auch innerhalb Formularauthentifizierung, aber wenn Sie auf SSL einschalten httpcookies Sie müssen es auch einschalten Innenformulare Konfiguration auch.
Edit für Klarheit: dieses in <system.web>
<httpCookies requireSSL="true" />
Im <system.web>
Element, fügen Sie das folgende Element:
<httpCookies requireSSL="true" />
Wenn Sie jedoch ein <forms>
Element haben in Ihr system.web\authentication
Block, dann überschreibt dies die Einstellung in httpCookies
, setzen Sie es auf den Standard false
zurück.
In diesem Fall müssen Sie das Attribut requireSSL="true"
auch zum Formularelement hinzufügen.
So werden Sie am Ende mit:
<system.web>
<authentication mode="Forms">
<forms requireSSL="true">
<!-- forms content -->
</forms>
</authentication>
</system.web>
Minor edit (brauche auth Knoten in dort BTW-System.Bahn und Formulare):
Sie können andere web.config Einstellungen über Reiten Ihr vermeiden
Zusätzlich, wenn es ein 'roleManager' Element gibt sollte sein Attribut' cookieRequireSSL = "true" 'sein auch auf wahr gesetzt werden. Ref. https://msdn.microsoft.com/en-us/library/system.web.security.roles.cookierequiressl(v=vs.110).aspx –
Die Dinge werden schnell unübersichtlich, wenn Sie in einer Unternehmensumgebung über eingecheckten Code sprechen. Wir haben festgestellt, dass der beste Ansatz die web.Release.config folgendes enthalten haben, ist:
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<authentication>
<forms xdt:Transform="Replace" timeout="20" requireSSL="true" />
</authentication>
</system.web>
Auf diese Weise Entwickler nicht betroffen sind (in Debug ausgeführt wird), und nur Server, die erhalten Releasebuilds erfordern Cookies, um SSL zu sein.
- 1. Wie kann ich einen einzelnen Proxy für ein Anforderungssitzungsobjekt festlegen?
- 2. Wie kann ich einen Standardwert für eine Perl-Variable festlegen?
- 3. Wie kann ich einen Standard für Sternargumente festlegen?
- 4. Wie kann ich einen Kurznamen für eine Variable festlegen?
- 5. Wie kann ich einen Proxy-Server für Gem festlegen?
- 6. Wie kann ich das Einheitsinkrement für einen Bildlaufbereich in JavaFX festlegen?
- 7. Wie kann ich einen Benutzernamen für einen Postgresql-Audit-Trigger festlegen?
- 8. Wie kann ich einen SQL-Stil disjunkten oder einen Unterschied für zwei Pandas DataFrame-Objekte festlegen?
- 9. Wie kann ich einen anderen Namen für einen einzelnen Protokollhandler festlegen?
- 10. Wie kann ich einen Klingelton für einen individuellen Kontakt auf Android festlegen?
- 11. Wie kann ich einen dynamischen Modellnamen in AngularJS festlegen?
- 12. Wie kann ich einen Standardwert für einen Funktionsparameter mit einem Decorator festlegen?
- 13. Wie kann ich einen VIM-Dateityp programmgesteuert festlegen?
- 14. Kann ich in Emacs einen Zeilenumbruch für Code und einen für Text festlegen?
- 15. Wie kann ich die Textfarbe für die Android-Voreinstellung festlegen?
- 16. Wie kann ich ein Landscape-Layout nur für Tablets festlegen?
- 17. Wie kann ich den Prozessnamen für ein Java-Programm festlegen?
- 18. Wie kann ich einen Namen für einen Bildschirm vergeben?
- 19. Wie kann ich das Standard-Stylesheet für einen Browser finden?
- 20. Wie kann ich ID für GWT Widgets in UiBinder festlegen?
- 21. Wie kann ich default_url_options für Sidekiq-Mitarbeiter festlegen?
- 22. Wie kann ich ein Symbol für ein ListViewSubItem festlegen?
- 23. Wie kann ich einzelne ToolTips für jedes StackPanel-Objekt festlegen?
- 24. Wie kann ich die Höhe für Twitter-Bootstrap-Thumbnails festlegen?
- 25. Wie kann ich die Standardseite für HTTPS-Anfragen festlegen?
- 26. Wie kann ich das Build-Ziel in Team Services für WIX festlegen
- 27. Wie kann ich ein Ordnersymbol für ein JPEG-Bild festlegen?
- 28. Wie kann ich eine Tab-Breite für JSON-Dateien festlegen?
- 29. Wie kann ich die .mdf-Datenbankverbindungszeichenfolge für alle Benutzer festlegen?
- 30. Wie kann ich Async = "true" für alle Seiten festlegen?
+1 Dies funktionierte. Vielen Dank! – Alex
+1 Um zu verdeutlichen, das ist, was Sie der web.config hinzufügen sollten, um das sichere Flag auf dem Authentifizierungs-Cookie auf ' ' –
Tr1stan
zu setzen. Beachten Sie, dass dies von Ihrer (Server-Ebene) abhängt) Aufbau. Ich habe die Testregion mit dem Fehler "Die Anwendung ist für die Ausgabe von sicheren Cookies konfiguriert. Diese Cookies erfordern, dass der Browser die Anfrage über SSL (https-Protokoll) absetzt. Die aktuelle Anfrage ist jedoch nicht über SSL." Dies liegt daran, dass wir einen Reverse-Proxy verwenden und die Browser eine Verbindung über SSL herstellen, der Reverse-Proxy für den IIS-Server jedoch über Port 80 liegt, sodass die Anwendung nicht davon überzeugt war, dass sie gesichert wurde. – mlhDev