of 37/37
Fachbereich Informatik, AG Softwaretechnik Proseminar „Website-Management-Systeme“ WS 03/04 Thema „Session-Management“ Vortrag von Christian Bindseil Folie 1 Vortrag zum Proseminar „Website-Management-Systeme“ im Wintersemester 2003/04 Thema „Session-Management“ von Christian Bindseil Oktober 2003

Vortrag zum - softech.informatik.uni-kl.desoftech.informatik.uni-kl.de/homepage/teaching/ProseminarWS0304/V_Session...Fachbereich Informatik, AG Softwaretechnik Proseminar „Website-Management-Systeme“

  • View
    215

  • Download
    0

Embed Size (px)

Text of Vortrag zum -...

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 1

    Vortrag zum

    Proseminar Website-Management-Systemeim Wintersemester 2003/04

    Thema Session-Management

    von Christian BindseilOktober 2003

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 2

    Theoretische Grundlagen

    Theoretische Grundlagen

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 3

    Begriffsklrung: Session

    Ablauf einer Benutzer-Server-Interaktion (Mehr oder weniger genau) definierter Beginn Ebensolches Ende Zustand (z. B. Warenkorb)

    Theoretische Grundlagen / Begriffsklrung Session

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 4

    Beispiel 1 Page Session

    Schon bei einfachen Webanwendungen ist der Inhalt einer Seite abhngig von den Eingaben auf der vorhergehenden Seite, also einem oder mehreren Parametern.

    Theoretische Grundlagen / Beispiele / Page Session

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 5Theoretische Grundlagen / Beispiele / Page Session

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 6

    Ist dies eine Session? Ja, denn... Beginn: Betreten der Seite durch den Benutzer Zustand: Suchwort Ende: Verlassen der Seite (ungenau: Schlieen des Fensters)

    Wichtig:Kennzeichnend fr die Page Session ist, dass ein Benutzer in mehreren Browser-Fenstern unabhngige Sessions gleichzeitig benutzen kann.

    Theoretische Grundlagen / Beispiele / Page Session

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 7

    Beispiel 2 Browser Session

    Kompliziertere Flle (z. B. Benutzerzhlung auf einer Webprsenz) haben andere Anforderungen:

    Beginn: Betreten der Seite durch den Benutzer Zustand: Historie+Zhlung aller Seitenaufrufe des Benutzers Ende: Verlassen der Seite (ungenau: Timeout)

    Wichtig:Die Browser-Session gilt global fr den gesamten Browser, unabhngig vom benutzten Browserfenster.

    Theoretische Grundlagen / Beispiele / Browser Session

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 8

    Beispiel 3 User Session

    Wieder anders sieht es aus, wenn es darum geht, einen User immer eindeutig identifizieren zu knnen also nicht nur ein Browserfenster oder einen Browser.

    Bekannte Beispiele: Online-Shop-Systeme Webmail-Interfaces

    Theoretische Grundlagen / Beispiele / User Session

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 9

    Nach dem ersten Login...Theoretische Grundlagen / Beispiele / User Session

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 10

    ...anschlieend Logout

    Theoretische Grundlagen / Beispiele / User Session

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 11

    Nach dem zweiten Login...Theoretische Grundlagen / Beispiele / User Session

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 12

    ...anschlieend Logout

    Theoretische Grundlagen / Beispiele / User Session

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 13

    Bemerkungen:

    In der Hauptsession ist der Benutzer selbst das einzige gleichbleibende Element!

    Fr die einzelnen Sitzungen als Untersessions reichen die bislang erwhnten Session-Formen aus.

    Theoretische Grundlagen / Beispiele / User Session

    HauptsessionUntersession Untersession

    Login /Beginnender Mail

    Speichernals Entwurf /Logout

    Login /Mail weiter bearbeiten

    Absenden /Logout

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 14

    Praktische Umsetzung

    Praktische Umsetzung

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 15

    Historisch bedingte Probleme

    Das HTTP (HyperTextTransferProtocol) als Grundlage des WWW hat eine historisch bedingte Schwche:es ist zustandslos.

    Praktische Umsetzung / Historisch bedingte Probleme

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 16

    Webseite

    eingebettetesObjekt (z. B. Bild)

    Typischer Verbindungsablauf bei HTTP:

    Zwei komplettgetrennte Verbindungen!

    Praktische Umsetzung / Historisch bedingte Probleme

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 17

    Anfangszeit des WWW:

    Server-Ressourcen begrenzt kleine Webseiten wenige eingebettete Objekte=> ressourcensparendes Protokoll

    Praktische Umsetzung / Historisch bedingte Probleme

    Heute:

    Verbindungs-Ressourcen begrenzt groe Webseiten viele eingebettete Objekte=> ineffektiv, verschwenderisch

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 18

    Weiterentwicklung (HTTP 1.1):

    Geffnete Verbindung kann mehrfach genutzt werden Verbindungsende durch Browser oder (sehr kurzen) Timeout=> ressourcensparend

    Webseite

    eingebettetesObjekt (z. B. Bild)

    Eine einzigeVerbindungfr mehrereDownloads!

    Praktische Umsetzung / Historisch bedingte Probleme

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 19

    Wichtig:

    HTTP 1.1 noch immer zustandslos=> keine Lsung fr Session-Management-Probleme

    Fr dynamische Webseitennicht ausreichende Basis!

    Praktische Umsetzung / Historisch bedingte Probleme

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 20

    Lsungswege

    Da HTTP keine Fhigkeit zur Zustandsspeicherung besitzt, mssen andere Mglichkeiten untersucht werden.

    Es ergeben sich folgende zwei Anstze: Stateful Server Stateless Server = Stateful Client

    Praktische Umsetzung / Lsungswege

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 21

    Stateful ServerDer Server speichert alle Session-Daten

    Vorteile: Informationen werden dauerhaft und sicher zentral gespeichert Sensitive Informationen leichter gegen Aussphen schtzbar

    Nachteile: Erhhter Speicherbedarf auf dem Server Client-Identifizierung u. U. schwierig

    Praktische Umsetzung / Lsungswege / Stateful Server

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 22

    Stateless Server = Stateful ClientDer Client speichert alle Session-Daten

    Vorteile: Benutzer hat mehr Transparenz ber gespeicherte Daten Einfache Client-Identifizierung

    Nachteile: Browserabhngig (Status nicht transportabel auf andere Systeme) Sensitive Daten mssen bertragen werden

    Praktische Umsetzung / Lsungswege / Stateless Server

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 23

    Folgerung aus den Anstzen

    Wie man leicht erkennt, ist der Stateful Server die bessere Wahl: Die Session-Daten liegen auf dem Server Der Client speichert eindeutigen Key (Session-ID, SID) Den Daten wird der Key fest zugeordnet

    Praktische Umsetzung / Lsungswege

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 24

    Technische Realisierung

    Wie bereits festgestellt, liegt das eigentliche Problem in der Identifizierung des Clients. Zum Besseren Verstndnis der Problematik lohnt ein Blick auf nicht anwendbare Anstze:

    Identifizierung der IP-AdresseScheitert daran, dass nicht jedem Internet-Teilnehmer eine eindeutige und unvernderliche IP-Adresse zugeordnet ist.Stichworte: DHCP, Firewall mit NAT, Multiusersysteme, Proxy

    Identifizierung der Standard-Browser-IDScheitert daran, dass die ID bei identischen Browser-Versionen gleich und somit keinem einzelnen Browser zugeordnet ist.

    Praktische Umsetzung / Technische Realisierun g

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 25

    Funktionierende Techniken

    Cookies Versteckte Formularfelder URL-Rewriting Benutzerauthentifizierung

    Praktische Umsetzung / Technische Realisierun g

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 26

    Cookies

    Kleine Datenobjekte Auf HTTP-Ebene zum Browser bertragbar Ebenso wieder auslesbar Felder: Name, Wert, Lebensdauer, Domne, Pfad, SSL-Info

    Problematisch sind begrenzte Lebensdauer (mit Cookie bergeben, durch den Browser geregelt oder durch manuelles Lschen) und die Tatsache, dass viele Benutzer Cookies aus Grnden der Privatsphre abschalten.

    Praktische Umsetzung / Technische Realisierung / Cookies

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 27

    Moderne Web-Sprachen (hier z. B. PHP) ermglichen einfache Umsetzung des Cookie-Konzepts:

    Setzen des Cookies:

    Syntax:* = optionale Parameter

    Beispiel:

    Auslesen des Cookies:

    Syntax:

    Beispiel:

    Praktische Umsetzung / Technische Realisierung / Cookies

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 28

    Versteckte Formularfelder

    Zustzliches unsichtbares Feld mit SID Wird mit allen anderen Feldern bermittelt

    ...

    Nachteil: Nur auf Webseiten mit Formularen einsetzbar

    Praktische Umsetzung / Technische Realisierung / Versteckte Formularfelder

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 29

    URL Rewriting

    Sei folgende Adresse die eines Scripts:http://www.uni-kl.de/test/mein-script.cgi

    bergabe der SID mittels gewhnlicher Script-Parameter:http://www.uni-kl.de/test/mein-script.cgi?ED3cx$dky

    bzw. in folgender Form am Beispiel von Java:http://www.uni-kl.de/test/mein-script.jsp;jsessionid=ED3cx$dky

    oder mittels URL-Ergnzung:http://www.uni-kl.de/test/mein-script.cgi/ED3cx$dky

    Praktische Umsetzung / Technische Realisierung / URL Rewriting

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 30

    Gewhnliche Script-Parameter und URL-Ergnzung lassen sich auch kombinieren und werden folgendermaen durch das Script ausgewertet:

    Die Scriptparameter stehen in der Variablen QUERY_STRING Die Parameter der URL-Ergnzung stehen in PATH_INFO

    Praktische Umsetzung / Technische Realisierung / URL Rewriting

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 31

    Benutzerauthentifizierung

    Benutzer mssen sich authentifizieren, um eine HTTP-Verbindung aufbauen zu knnen.

    Bei Erstkontakt (seit Browserstart) erscheint Login-Box Eingabe von Username und Password Bei Korrektheit vom Browser gespeichert fr weitere Aufrufe Anmeldedaten stehen serverseitig in Variable REMOTE_USER

    Praktische Umsetzung / Technische Realisierung / Benutzerauthentif izierung

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 32

    Dies ist die einzige Mglichkeit, Benutzer wirklich genau zu authentifizieren!

    Nachteile: Viele Systeme => viele getrennte Anmeldungen Oftmals unterschiedliche Anmeldedaten Meist unterschiedliche Regeln fr Passwrter Jedes System in der Regel in anderer Sicherheitszone=> Flut von Benutzernamen und Passwrtern!

    Praktische Umsetzung / Technische Realisierung / Benutzerauthentif izierung

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 33

    Abschlussbemerkungen

    Obwohl beide Techniken von modernen Web-Sprachen gut untersttzt werden, sind Cookies dem URL-Rewriting vorzuziehen, da sie einfacher anwendbar, effizienter (beim Rewriting mssen immer alle Links einer Seite gendert werden) und sicherer sind.

    Gefahr besteht vor allem durch Session-Entfhrung, da Suchmaschinen die SID in Links mit abspeichern, die SID bei externen Links fremden Seitenbetreiber zukommen, Adressen mit SID in Bookmarks gespeichert werden knnen.

    Praktische Umsetzung / Technische Realisierung / Abschlussbemerkungen

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 34

    Da aber oftmals Cookies durch den Benutzer unterbunden werden, wird hufig eine Fallback-Lsung mit URL Rewriting eingesetzt.

    Versteckte Formularfelder spielen aufgrund ihres beschrnkten Einsatzbereichs eine untergeordnete Rolle.

    Benutzerauthentifizierung wird oft eingesetzt, meist in Kombination mit anderen Session-Management-Techniken in Form verschachtelter Sessions. Hufig wird dabei eine von der Websprache abhngige Authentifizierung ber ein HTML-Formular anstatt der Loginbox verwendet.

    Praktische Umsetzung / Technische Realisierung / Abschlussbemerkungen

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 35

    Anhang

    Anhang

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 36

    Quellenverzeichnis

    Jan Newmarch: HTTP-Sessionmanagement, August 2000, http://jan.netcomp.monash.edu.au/ecommerce/session.html

    Martin Nilsson: Session Variables Revisited, September 2001, http://community.roxen.com/articles/015_sessions_2/

    Dirk Louis, Christian Wenz: Dynamic Web Publishing,Markt+Technik Verlag, Mnchen, 2001

    http://www11.informatik.tu-muenchen.de/lehre/praktika/vap/docSS2003/doc_cas_5_ger_html/html/url_rewriting.html

    Anhang / Quellenverzeichnis

  • Fachbereich Informatik, AG SoftwaretechnikProseminar Website-Management-Systeme WS 03/04Thema Session-ManagementVortrag von Christian Bindseil

    Folie 37

    Impressum

    Vortrag zum Proseminar Website-Management-Systeme im Wintersemester 2003/04 an der Technischen Universitt Kaiserslautern, Fachbereich Informatik, Arbeitsgruppe Softwaretechnik

    Thema: Session-Management

    Verfasser: Christian BindseilOrt: KaiserslauternDatum: Oktober 2003Copyright beim Verfasser

    Anhang / Impressum