Freigeben über


Gewusst wie: Schreiben eines Cookies

Aktualisiert: November 2007

Mit Cookies können Sie in Webanwendungen benutzerspezifische Informationen speichern, z. B. den Verlauf oder Benutzereinstellungen. Ein Cookie ist ein kurzer Text, der Anforderungen und Antworten beim Austausch zwischen Webserver und Client begleitet. Das Cookie enthält Informationen, die von der Webanwendung immer dann gelesen werden können, wenn der Benutzer die Site besucht.

Der Browser verwaltet die Cookies auf dem Clientcomputer. Cookies werden an den Client mithilfe des HttpResponse-Objekts gesendet, das die Cookies-Eigenschaft verfügbar macht. Alle Cookies, die von der Webanwendung an den Browser gesendet werden sollen, müssen dieser Auflistung hinzugefügt werden. Wenn Sie ein neues Cookie schreiben, müssen Sie Name und Value angeben. Jedes Cookie muss über einen eindeutigen Namen verfügen, damit es von der Webanwendung erkannt wird, wenn es vom Browser zusammen mit zukünftigen Anforderungen gesendet wird.

Es gibt zwei Möglichkeiten, ein Cookie auf den Computer eines Benutzers zu schreiben. Sie können die Cookieeigenschaften entweder direkt in der Cookies-Auflistung festlegen, oder Sie erstellen eine Instanz des HttpCookie-Objekts und fügen es der Cookies-Auflistung hinzu. Sie müssen die Cookies erstellen, bevor der Client die ASP.NET-Seite dargestellt. Sie können z. B. ein Cookie in einen Page_Load-Ereignishandler schreiben, nicht aber in einen Page_Unload-Ereignishandler. Weitere Informationen über den Lebenszyklus einer Seite finden Sie unter Übersicht über den Lebenszyklus von ASP.NET-Seiten.

Weitere Informationen finden Sie unter Übersicht über ASP.NET-Cookies.

  • In der ASP.NET-Seite, in die Sie ein Cookie schreiben möchten, weisen Sie dem Cookie Eigenschaften in der Cookies-Auflistung zu.

    Das folgende Codebeispiel zeigt ein Cookie mit dem Namen UserSettings, für das die Werte des Font-Unterschlüssels und des Color-Unterschlüssels festgelegt sind. Das Ablaufdatum ist auf morgen festgelegt.

    Response.Cookies("UserSettings")("Font") = "Arial"
    Response.Cookies("UserSettings")("Color") = "Blue"
    Response.Cookies("UserSettings").Expires = DateTime.Now.AddDays(1)
    
    Response.Cookies["UserSettings"]["Font"] = "Arial";
    Response.Cookies["UserSettings"]["Color"] = "Blue";
    Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
    
  1. Erstellen Sie ein Objekt vom Typ HttpCookie, und weisen Sie ihm einen Namen zu.

  2. Weisen Sie den Unterschlüsseln des Cookies Werte zu, und legen Sie die Cookieeigenschaften fest.

  3. Fügen Sie das Cookie der Cookies-Auflistung hinzu.

    Das folgende Codebeispiel zeigt eine Instanz des HttpCookie-Objekts mit dem Namen myCookie, die ein Cookie mit dem Namen UserSettings darstellt.

    Dim myCookie As HttpCookie = New HttpCookie("UserSettings")
    myCookie("Font") = "Arial"
    myCookie("Color") = "Blue"
    myCookie.Expires = Now.AddDays(1)
    Response.Cookies.Add(myCookie)
    
    HttpCookie myCookie = new HttpCookie("UserSettings");
    myCookie["Font"] = "Arial";
    myCookie["Color"] = "Blue";
    myCookie.Expires = DateTime.Now.AddDays(1d);
    Response.Cookies.Add(myCookie);
    

Robuste Programmierung

Standardmäßig werden Cookies von allen Webseiten derselben Domäne gemeinsam verwendet. Sie können Cookies aber auch auf bestimmte Unterordner einer Website beschränken, indem Sie ihre Path-Eigenschaft festlegen. Damit ein Cookie von allen Seiten in allen Ordnern der Anwendung abgerufen werden kann, legen Sie es von einer Seite aus fest, die sich im Stammordner der Anwendung befindet, und legen Sie die Path-Eigenschaft nicht fest.

Wenn Sie kein Ablaufdatum für das Cookie angeben, bleibt es auf dem Clientcomputer nicht erhalten, sondern läuft mit Ablauf der Benutzersitzung ab.

Cookies können nur Werte vom Typ String speichern. Sie müssen alle Werte, die keine Zeichenfolgen sind, in Zeichenfolgen konvertieren, bevor Sie sie in einem Cookie speichern können. Bei vielen Datentypen genügt es, die ToString-Methode aufzurufen. Weitere Informationen finden Sie unter der ToString-Methode für den Datentyp, der erhalten bleiben soll.

Sicherheit

Speichern Sie in einem Cookie keine vertraulichen Informationen wie Benutzername oder Kennwort. Weitere Informationen zur Cookiesicherheit finden Sie unter Übersicht über ASP.NET-Cookies.

Siehe auch

Aufgaben

Gewusst wie: Lesen eines Cookies

Gewusst wie: Löschen eines Cookies

Konzepte

Übersicht über ASP.NET-Cookies

Grundlegende Sicherheitshinweise für Webanwendungen

Übersicht über die ASP.NET-Zustandsverwaltung