Sie sind auf Seite 1von 13

Servlets Cookies

Cookies, Beispiele
Prof.DIDr.ErichGams
htlwels.e.gams@eduhi.at

Verteilte Systeme und Datenbanken HTL-Wels 2010

bersicht Was lernen wir?

Vorteile/Nachteile
Cookies senden/empfangen
Besuchertracking
Session/Persistent Cookies
Benutzereinstellungenmerken

2010Prof.DIDr.ErichGams

Seite2

Motivation
SessionTracking
bernimmtdieSessionAPI

BenutzernamenundPasswrtervermeiden
EineSeiteanBenutzeranpassen
Werbung

2010Prof.DIDr.ErichGams

Seite3

Motivation, Cookies nicht zu verwenden


DasProblem:Privatsphre(undnichtdieSicherheit!)
ServerspeicherndievorangegangenSchritte
PersnlicheInformationendiemanherausgibt,knnengespeichert
werden(IchknntetheoretischKreditkarteninfosineinemCookie
speichern!!!!)
ServerknnenCookieinfos berThirdpartyserver (doubleclick.net)
austauschen
InfrherenBrowserversionenkonnte manmitJavaScriptCookies
auslesen(Bug).

ResmeefrServletautoren
Cookies vermeiden,oderAbsturzdesServlets vermeiden,sollten
Cookies ausgeschaltetsein
KeinesensiblenDateninCookies schreiben
2010Prof.DIDr.ErichGams

Seite4

Cookies am Client erstellen


ErzeugeneinesCookie Objekts.
Cookie c=new Cookie("userID","a1234");

DiemaximaleLebensdauerfestlegen
Cookie wirddannaufPlattegespeichert.
c.setMaxAge(60*60*24*7);//1Woche

Cookie andenBrowserschicken
response.addCookie(c);
2010Prof.DIDr.ErichGams

Seite5

Cookies lesen
request.getCookies()
Rckgabe:ein ArrayvonCookieObjekten.

2010Prof.DIDr.ErichGams

Seite6

Beispiel: Neue Besucher ausfindig machen

2010Prof.DIDr.ErichGams

Seite7

Beispiel: Neue Besucher ausfindig machen

2010Prof.DIDr.ErichGams

Seite8

Cookie Utility
public class LongLivedCookie extends Cookie {
public static finalint SECONDS_PER_YEAR=60*60*24*365;
public LongLivedCookie(String name,Stringvalue){
super(name,value);
setMaxAge(SECONDS_PER_YEAR);
}
}

2010Prof.DIDr.ErichGams

Seite9

Cookie Utility
public class CookieUtilities {
public static StringgetCookieValue
(HttpServletRequest request,
StringcookieName,
StringdefaultValue){
Cookie[]cookies =request.getCookies();
if (cookies !=null){
for(Cookie cookie:cookies){
if (cookieName.equals(cookie.getName()))
return(cookie.getValue());
}
}
return(defaultValue);
}

2010Prof.DIDr.ErichGams

Seite10

Cookiewerte ndern
Cookies lschen
setMaxAge(0)

Cookiewert ndern
SendedenselbenCookienamen miteinemanderen
Wert

2010Prof.DIDr.ErichGams

Seite11

Garfield zum Thema Cookies

2010Prof.DIDr.ErichGams

Seite12

Aufgabe
1)Benutzerzugriffe:
Willkommen!DubistdasersteMalda
Willkommenzurck!Duwarstschonxmalmit
demBrowserXYaufunsererSeite

2)ErweiterungTicketshop:
VorausgefllteWertebeiAngabedesNamensund
derAdresse
DeineletztenBestellungen
2010Prof.DIDr.ErichGams

Seite13

Das könnte Ihnen auch gefallen