Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Prüfen ob ein Browser Cookies annimmt

Geschrieben von: Christian Koller
Kategorie: Komponenten

Ob ein Browser Cookies annimmt ist in vielen Anwendungen wichtig. Wenn Sie eine einfache E-Commerce Applikation implementieren, bei der die bereits bestellten Waren (Shopping-Bag) in einer Session Variablen mitgeführt werden, oder einen dauerhaften Cookie zur Personalisierung Ihrer Website setzen wollen, immer hängt der Erfolg Ihres Bemühens davon ab, ob der Browser Cookies annimmt.

Ein Cookie ist eine kleine Informationsmenge, die im Browser gespeichert wird. Man unterscheidet temporäre Cookies, die nur existieren solange noch ein Browserfenster geöffnet ist, und permanente Cookies, die bis zu Ihrem Ablaufdatum in einer Textdatei (meist Cookies.txt genannt) gespeichert werden.

Wozu braucht man nun Cookies genau? Wenn Sie unter ASP eine Session Variable für einen bestimmten User benutzen, so wird die Session-ID in Form eines temporären Cookies im User Browser gespeichert. Das bedeutet auf der anderen Seite, daß Sie keine Session Variablen einsetzen können, wenn der Browser keine Cookies annimmt.

Session Variablen werden der Einfachheit halber oft in Paßwort geschützten Bereichen einer Website eingesetzt. Dabei wird geprüft, ob für den augenblicklichen User eine bestimmte Session Variable, zum Beispiel Session("User") einen Wert enthält. Wenn der User die richtige User-Name/Paßwort Kombination in einer Login Seite eingibt, dann wird im ASP Script der Login-Seite dieser Session Variable ein Wert zugewiesen. Immer wenn eine geschütze Datei abgefragt wird, dann prüft ASP ob die Session Variable einen Wert enthält. Wenn kein Wert in der Variablen gespeichert ist, so wird der Browser vom ASP-Script mit Response.Redirect automatisch zur Login Seite (oder einer anderen Seite) umgeleitet:

<%
' Anfang der ASP Seite

If Session("User") = "" Then
	' User nicht eingeloggt, daher einen 
	' Redirect zur Login Seite ausfuehren:
	Response.Redirect "Login.asp"
	Response.End
End If
' Hier kommt der geschuetzte Inhalt der Seite:

...

%>

Nun aber zurück zur Frage wie man herausfindet ob ein Browser Cookies auch annimmt.

Eine einfache und elegante Lösung läßt sich mit der ASP Komponente BrowserHawk 2000 von CyScape verwirklichen.

Das folgende Beispiel zeigt, wie man mit der BrowserHawk 2000 Komponente effizient abfragen kann ob Cookies vom Browser akzeptiert werden. Das ASP-Script benutzt dazu die Cookies und die CookiesEnabled Eigenschaften der BrowserHawk Komponente. Die Cookies Eigenschaft enthält die Information, ob der Browser technisch prinzipiell in der Lage ist, Cookies zu akzeptieren. Die CookiesEnabled Eigenschaft schließlich liefert die Information, ob der Browser tatsächlich Cookies akzeptiert. Dafür muß allerdings vorher die CookieDetector Methode der Komponente ausgeführt werden.

ASP Beispiel, das effizient prüft ob der Browser Cookies annimmt (ausführbares Beispiel):

<% 
Dim BrowserHawk     ' BrowserHawk 2000 Objekt
Dim CookieAccept    ' Enthaelt True wenn der Browser Cookies annimmt
CookieAccept = False

Set BrowserHawk = Server.CreateObject("cyScape.browserObj")

If BrowserHawk.Cookies = True Then
	' Cookies werden vom Browser technisch unterstuetzt
	BrowserHawk.CookieDetector "noredirect"
	If BrowserHawk.CookiesEnabled Then
		' Cookies werden vom Browser angenommen
		CookieAccept = True
	End If
End If

If CookieAccept = True Then
	' Hier die Variante wenn Cookies angenommen werden
	<% 
	... 
	%>
Else
	' Hier die Variante wenn keine Cookies angenommen werden
	<% 
	...
	%>
End If
%>

Es gibt einen Punkt auf den man achten sollte: Wenn man die CookieDetector Methode einsetzt, so kann man mit der selben Seite kein Formular empfangen, das mit der POST-Methode abgeschickt wurde.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

Browsereigenschaften mit BrowserHawk 2000 bestimmen
Dynamische Stylesheets
Einfacher Test, ob der Browser Cookies annimmt
Global.asa: Verwendung, Events und Probleme
Session Variablen - Verwendung und Stolpersteine
Zwischenspeichern von ASP Seiten

Links zu anderen Sites

CyScape

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.