Grundlagen Internet-Technologien INF3171

Ähnliche Dokumente
2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

Sessions mit PHP. Annabell Langs Sessions in PHP - Annabell Langs 1

Online-News Ausgabe 12, Juli 2000 Seite 56

Datenbank-basierte Webserver

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Session Management und Cookies

Java - Webapplikationen

Python CGI-Skripte erstellen

Systemvoraussetzungen CustomX. Customer Relationship Management

Web Applications Vulnerabilities

Literatur. [12-5] Upgrading to TLS Within HTTP/1.1 Netzwerke - WS 2013/14 - Teil 12/HTTP

Grundlagen Internet-Technologien INF3171

Programmieren von Webinformationssystemen

Perl-Praxis CGI-Skripte 0-0/22

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

PHP und MySQL. Sicherheit und Session-Handling mit PHP. Zellescher Weg 12 Willers-Bau A109 Tel

Programmieren von Webinformationssystemen

Mac OS X Consoliero Teil 14: Webmail Agent unter Mac OS X Server 10.2

Web Application Engineering & Content Management Übungsteil zu VU 2.0

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung

Überblick. Netzprogrammierung 7b. Zustand in Web Anwendungen. Zustand in HTTP HTTP ist zustandslos Zwei Interaktionen sind unabhängig voneinander

Apache HTTP-Server Teil 1

Inhaltsverzeichnis. Hinweise zum Gebrauch des Buches... XIII. Teil I Grundlagen der Web-Programmierung

Sicherheit in Webanwendungen CrossSite, Session und SQL

Handout zur Vorlesung DBSP Sessions, Cookies, Login-Systeme Unit 8 DBSP. Unit 8. Sessions, Cookies, Formulare und Login-System

Softwarepraktikum - Verteidigung Entwurf LDAP-Interfaces für majordomo und Web

Schwachstellenanalyse 2012

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

1HXHLQVWLHJ± /LQX[ RGHU0LFURVRIW (LQH(QWZHGHU2GHU(QWVFKHLGXQJ"

Sicherheit von Webapplikationen Sichere Web-Anwendungen

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal

Zusammenfassung Web-Security-Check ZIELSYSTEM

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Literatur. [2-5] Upgrading to TLS Within HTTP/1.1 Webtechnologien SS Teil 2/HTTP

Proseminar Website-Management-Systeme im W intersem ester 2003/04

Tanz! Stefan Hornburg (Racke) 13. Deutscher Perl-Workshop, Frankfurt, 21. Oktober 2011

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5

Internetanbindung von Datenbanken

Herzlich willkommen im Modul Informatik Grundlagen

Schwachstellenanalyse 2013

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Entwurf und Realisierung von Online-Umfragen Entwurf und Realisierung von Online-Umfragen

Multimedia im Netz Wintersemester 2011/12

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Skalierbare Webanwendungen mit Python und Google App Engine

1. Einführung Eigenschaften Einsatzszenarien Externes Benutzer-Management Synchronisation von Konten,

Apache. O'REILLY Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Das umfassende Handbuch. Ben Laurie und Peter Laurie 2.

Netzwerk Technologien in LabVIEW

Carsten Eilers Pentesters Toolbox

easylearn Webservice lsessionservice Interface für Single Sign On (SSO)

Theorie und Praxis einer JSON-RPC-basierten Web-API

Proseminar: Website-Management-Systeme

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Einrichtung Secure-FTP

Rechnernetze Praktikum Versuch 8: Zertifikate, Sicherheit in öffentlichen Netzen

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

ASP.NET Grundlagen. Was ist ASP.NET

Zusammenfassung der letzten Vorlesungen. - Ergänzungen zu Menüs /Sprachumschaltung. - indexed search

Konzept eines Datenbankprototypen Folie 1 Daniel Gander / Gerhard Schrotter

Fortgeschrittene Servlet- Techniken. Ralf Gitzel

VMware vrealize Log Insight- Entwicklerhandbuch

Bewährte Drupal-Module

Herzlich willkommen im Modul Web-Engineering

WCF Services in InfoPath 2010 nutzen

Performance Tuning

MGE Datenanbindung in GeoMedia

Grundlagen der Informatik 2

ASP: Active Server Pages

Arbeiten im Datennetz der Universität Regensburg

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

Mul$media im Netz (Online Mul$media) Wintersemester 2014/15. Übung 02 (Nebenfach)

Webdesign mit HTML und CSS Einführungsabend

Web-Anwendungsentwicklung mit dem Delivery Server

SINT Rest App Documentation

FTP / WebDeploy / WebDAV. Handbuch

PubMan Import - Benutzer Dokumentation

Grundlagen Internet-Technologien INF3171

Internet: Was ist das? - Routing

Inhalt. Vorbemerkungen... 1

FileMaker und PHP Workshop

Java zur Realisierung von Internetanwendungen

FTP HOWTO. zum Upload von Dateien auf Webserver. Stand:

Security in.net 2.0. Thomas Stanek

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Call Button / HTTP - Systembeschreibung

Komfortkasse Checkout Version: 1.1

Einführung in die Skriptsprache PHP

Collax Web Application

Anwendung eines Enterprise Java Beans

André Maurer Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

Programmierung von Webapplikationen mit Perl / MySQL

Shopping-System: kostenfrei, offen u. performant. Veikko Wünsche.

:HE'DWHQEDQN$QELQGXQJ PLW-DYD6HUYOHWVEDVLHUHQG DXI$SDFKH-6HUY2UDFOHL

SIZ Modul 221: Outlook und Internetdienste

DOKUMENTATION. CaptchaAd mit Java. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen

Transkript:

Fachbereich Informatik Informationsdienste Grundlagen Internet-Technologien INF3171 Cookies & Sessions Version 1.0 20.06.2016

aktuelles 2

Erweiterungen wir betrachten zwei Erweiterungen: Personalisierung der Web-Verbindung durch Cookies & Sessions AJAX: Kombination von Client- und Servertechniken 3

Individualisierung im Web die klassische Web-Site ist zustandslos wesentliche Eigenschaft die Website kennt keine Vorgeschichte für viele Anwendungen ist dies nicht sinnvoll kein Anmelden, kein Warenkorb, 4

Business-Applications Business-Applications brauchen ganz typisch einen Zustand wie angemeldet sein Rolle und Rechte trivial-ansatz: hidden fields im HTML-Formular keine weitreichende Lösung 5

hidden fields (I) HTML-Formulare können über versteckte Felder verfügen <INPUT type= hidden > nicht sichtbar (werden nicht angezeigt) werden aber ganz konventionell als key-value- Paare im HTTP-Protokoll übertragen Übertragung mit HTTP-Methoden GET und POST 6

hidden fields (II) Vorteile der Technik: absolut unabhängig von Clientsoftware/-konfiguration Client wird nicht belastet reine HTML-Technik Nachteile der Technik: anstrengend, da nach dem ersten Formular alle Formulare dynamisch generiert werden und alle versteckten Felder immer übertragen werden müssen im HTML-Source-Code direkt sichtbar: "strg-u" 7

bessere Ansätze Cookies und Sessions zur Personalisierung von Websites Beispiel: neuer Browser, Besuch von amazon.de und dort suchen nach bestimmten Artikel Browser schließen neuer Besuch von Amazon: es werden passende Artikel angeboten 8

Cookies Zusatzinformationen werden lokal auf dem Client abgelegt und müssen so nicht jedesmal übertragen werden Erweiterung des ursprünglichen HTTP-Protokolls 0.9 9

Cookie-Informationen 10

11

12

Prinzip des Cookies ein Cookie ist ein key-value-paar hat eine begrenzte Haltbarkeit ist Bestandteil des HTTP-Protokolls wird im HTTP-Header übertragen einfache Textdatei auf dem Client jedes Cookie gehört zu einer Website alle Browser speichern ihre Cookies getrennt für den jeweiligen Browser: alle Browser-Tabs und Browser-Fenster haben die gleichen Cookies DOM: Cookie gilt für navigator-objekt 13

Datenstruktur des Cookies name, value (durch "=" getrennt) version expires max-age domain path port comment commenturl secure discard 14

Cookies und Sicherheit keine wirkliche Gefährdung des Clients aber: "Ausspionieren" des Clients (auch von fremden Sites) einfache Manipulation des Cookies Gefahr für Diensteanbieter 15

Cookies in PHP Prinzipiell: Cookie ist Bestandteil von HTTP Cookie wird vor dem Dokumentenbeginn <HTML> gesetzt PHP-Methode setcookie( ) setzt Cookie in PHP Argument: key-value-paar klassisches PHP : Variable mit Bezeichner $key und Belegung value zur Verfügung Zugriff auf Cookies über das PHP-Superglobal $_COOKIE 16

Syntax setcookie bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] ) name, value, path klar expire: Unix-timestamp, wann Cookie ungültig wird domain: (Sub-)Domainen, die das Cookie benutzen können secure: wenn true, dann Cookie-Informationen nur über https übertragbar 17

Beispiel: Zähler, Dauer 18

19

Cookies in anderen Sprachen Python: Modul Cookie Perl: Modul CGI::Cookie my $cgi = new CGI; my $cookie = cgi->cookie(-name=>'name', -value=>'wert'); Ruby: ähnlich Perl 20

Sessions Cookie: Daten liegen auf dem Client Session: Daten liegen auf dem Server, werden über eine Session-ID der Browserinstanz zugeordnet Kennzeichnung der Session über Session-ID diese Session-ID ist dann typischerweise ein Cookie auf dem Client 21

Prinzip 22

Sessions in PHP die eigentlichen Session-Daten liegen auf dem Webserver üblicherweise in /tmp, konfigurierbar über session.save_path Daten sind dort sicher neue Session nur möglich vor der ersten Ausgabe Beginn einer Session: session_start() Session-Daten in Suberglobal $_SESSION Ende einer Session: session_destroy() 23

24

25

26

27

28

die Session-ID ist ein Cookie mit dem Namen PHPSESSID 29

PHP-Sessions ohne Cookies es gibt auch Alternativen ohne Cookies: Session-ID an die URL anfügen: Session->url() wieder als verstecktes Formular-Feld: Session->hidden() 30

Sessions in Perl es gibt mehrere (viele) Möglichkeiten, Sessions in PERL (CGI) zu implementieren Session-Funktionalität über verschiedene PERL- Module Suche in CPAN 31

Modul CGI-Session aktuelle Version: 3.95 Autor: Sherzod Ruzmetov die Session-Informationen können serverseitig wie schon in PHP verschieden abgelegt werden File (default) Database Modul CGI::Session ist davon unabhängig, spezifischer Treiber wird dazugeladen wie bei DBI 32

CGI::Session::File Standard-Fall: Session-Information in Datei auf Server notwendiger Parameter: Verzeichnis für die Ablage der Datei use CGI::Session; $session = new CGI::Session( driver:file, undef,{directory=> C:/temp }); jede Session in separater Datei Defaultname: cgisess_%s mit _%s : session-id 33

Clientseitig: Cookie wie in PHP wird Clientseitig die session-id im Cookie abgelegt: $cookie = $cgi->cookie(cgisessionid => $session- >id); print $cgi->header(-cookie=>$cookie); 34

damit verliert die Website die Eigenschaft "Zustandslos" wesentliche Erweiterung unserer bisherigen Fähigkeiten und Möglichkeiten! 35

und nun haben wir zwei wesentliche Erweiterungen für die Web-Programmierung kennen gelernt: Cookies & Sessions als nächstes: Ajax 36