Seminar Internet Technologien SS 98

Slides:



Advertisements
Ähnliche Präsentationen
DI Christian Donner cd (at) donners.com
Advertisements

Be.as WEB Technologie
Apache - PHP - MySQL Apache-PHP-MySQL.
WML – Wireless Markup Language Vortrag von Eduard Jakel.
WWW World Wide Web.
HTTP – Hypertext Transfer Protocol
Basis-Architekturen für Web-Anwendungen
Seminar Internet-Dienste
4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.
WWW Applikationen Vorlesung Anwendungssysteme. Lernziele: Wie funktioniert das WWW technisch? Welche Basis-Interaktionsmöglichkeiten bietet das WWW? Wie.
Datenbankzugriff im WWW (Kommerzielle Systeme)
eXist Open Source Native XML Database
Tomcat Web-Server installieren
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Browser Von Anna Zietek und Peter Paulus Verwendung Aufbau Anwendung.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
HTML - Einführung Richard Göbel.
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
Java: Grundlagen der Sprache
DOM (Document Object Model)
Internetstruktur Das Internet besteht aus vielen Computern, die weltweit untereinander vernetzt sind.
Prof. Dr. T. Kudraß1 Internet-Datenbanken. Prof. Dr. T. Kudraß2 Historie des WWW Grundlage Internet –Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net)
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Spezielle Aspekte der Anbindung von Datenbanken im Web.
Anwendungen. © Prof. T. Kudraß, HTWK Leipzig Historie des WWW Grundlage Internet – Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net) – Technische.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Sicher durchs Internet
Einführung MySQL mit PHP
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Grundlagen der CGI-Programmierung Martin Vorländer PDV-SYSTEME GmbH Bornhardtstraße Goslar.
Systementwicklungsprojekt:
Jetzt lernen wir.
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
YouTube5 .0 Projektpräsentation
Erste Schritte mit PHP 5 von Max Brandt, 22. September 2006.
Learning By Doing Thema 1: Dynamische Webseiten und Online Datenbanken (Jarka Arnold) Thema 2: Simulationen, Sound, Schnittstellen (Aegidius Plüss) Thema.
Client-Server Modell Advanced IT Basics Nicolas Frings.
Web-HMI einbinden SPS-Technik mit Video, Multimedia und Entertainmentsystemen kombinieren I Peter Steib.
Internet: Funktionsweise und Dienste
JavaScript.
Grundlagen: Client-Server-Modell
Das Client/Server – Modell und die XAMPP-Distribution
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Folgendes kann missbraucht werden: formulare unverschlüsselte login-informationen ungeschützte includes SQL-injection reto ambühler
CGI (Common Gateway Interface)
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Dynamische Webseiten-Generierung
Einführung in PHP.
Einführung in PHP 5.
Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
Formulare in HTML.
© Fink/Spengler/AINF-Lehrgang 2003 – Folie 1 AINF/3. Jahrgang Netzwerke Anwendungen (Clientseitig) Karl Brenner, Andreas Fink, Gerhard Jüngling, Albert.
HTML Hypertext Markup Language
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Stundenplanung Programm zur Stunden- und Zimmerplanung auf der Basis von Datenbanken und unter Berücksichtigung von Mehrfachnutzung im (lokalen) Netz (Internet.
->Prinzip ->Systeme ->Peer – to – Peer
Datenbanken im Web 1.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Das World Wide Web Stephan Becker TIT05BGR SS06. Das World Wide Web Übersicht Hypertext & Hypermedia HTML Dokumentenidentifikation Dokumententransport.
Cookies Kekse? Internet Gefahr?.
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
Interaktion Jens Harnisch, Timo Harm TIT05BGR Interaktion2 / 27 Übersicht Serverseitige WWW-Programmierung Serverseitige WWW-Programmierung.
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
Mailserver IT-Zertifikat der Phil.-Fak.: Advanced IT Basics
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
 Präsentation transkript:

Seminar Internet Technologien SS 98 Vortrag: Common Gateway Interface gehalten von: Michael Gründler Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler CGI Gliederung Teil I Motivation / Was ist CGI Funktionsweise Die Schnittstelle CGI-Sprachen Vom Client zum Server Exkurs nach HTML-Forms Die Methoden Get und Post Übergabe und Kodierung Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler CGI Gliederung Teil II Vom Server zum Client Dekodierung der Eingabedaten Umgebungsvariablen Erzeugung von HTML Dokumenten Header Versteckte Felder und Cookies Sicherheitsaspekte Abschließende Bemerkungen Quellen Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Motivation CGI ermöglicht: Zugriffszähler Gästebücher Datenbankabfragen Animation Formularabfragen Online-Registrierungen Realisierung von Suchmaschinen... Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Was ist CGI ? Common Gateway Interface (Allgemeine Vermittlungsrechner-Schnittstelle) aktuelle Version CGI/1.1 Übertragung mittels HTTP Protokoll ermöglicht dynamisch HTML-Dokumente zu erstellen ermöglicht externe Programme aus HTML Dokumenten heraus zu starten dient als Gateway für z.B. Datenbanken Seminar Internet-Technologien Thema: CGI / Michael Gründler

Funktionsweise vom CGI Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Die Schnittstelle WWW-Server muß CGI unterstützen Verzeichnis festlegen, meist cgi-bin Benutzer muß Berechtigung haben, CGI-Programme auszuführen CGI ist sprachunabhängig Folgende Bedingungen müssen erfüllt sein: Lesen von Standard in Schreiben auf Standard out Zugriff auf Umgebungsvariablen muß möglich sein Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler CGI Sprachen Alle Sprachen möglich, die die 3 Bedingungen erfüllen Perl oft benutzt Interpretersprache kann gut mit regulären Ausdrücken umgehen bietet gute und einfache Möglichkeiten der Textmanipulation ist noch frei erhältlich auch C, C++, TCL, Basic... Seminar Internet-Technologien Thema: CGI / Michael Gründler

Exkurs nach HTML-FORMS I Formulare erstellen mit HTML-FORMS <FORM ACTION ="/cgi-bin/programm.pl" METHOD ="POST"> leitet ein Formular ein <INPUT TYPE ="TEXT" NAME="name" VALUE ="value" SIZE ="size"> erstellt ein Textfeld Scroll-Listen Radiobuttons Checkbox Menues Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Beispiel HTML-FORMS Seminar Internet-Technologien Thema: CGI / Michael Gründler

Exkurs nach HTML-FORMS II Submit Button Absende Button Reset-Button "Lösch" Button </FORM> beendet Formular Seminar Internet-Technologien Thema: CGI / Michael Gründler

Die Methoden GET und POST Eingabedaten werden an die URL herangehängt Server übermittelt Daten an QUERY_STRING Vorteil nicht unbedingt Formular erstellen schneller als POST Nachteil Lesbarkeit der URL leidet zu lange Anfragestrings werden von manchen Browsern abgeschnitten werden Seminar Internet-Technologien Thema: CGI / Michael Gründler

Die Methoden GET und POST Anfragedaten werden nicht transparent übertragen, sondern über die Standardeingabe Vorteil Eingabedaten können beliebig lang sein Nachteil URL kann nicht als Bookmark gespeichert werden Seminar Internet-Technologien Thema: CGI / Michael Gründler

Übergabe und Kodierung Bildung von KEY/VALUE - Paaren Paare werden durch & voneinander getrennt KEY und VALUE werden durch = voneinander getrennt Leerzeichen werden durch + ersetzt Umlaute, Sonderzeichen durch hexadezimalen ASCII Code ersetzt, % dient als Kennung Beispiel: vorname=Michael+J%FCrgen&nachname=Gr%FCndler Seminar Internet-Technologien Thema: CGI / Michael Gründler

Dekodierung der Eingabedaten Lese REQUEST_METHOD, und ermittle das Request-Protokoll (Post oder Get) Bei "Get" QUERY_STRING auslesen Bei "Post" CONTENT_LENGTH auslesen und Anzahl Zeichen von STD IN lesen QUERY_STRING bei "&" zerlegen, separiert die Key/Value Paare Hexadezimal- und Pluszeichen dekodieren Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Umgebungsvariablen WWW-Server stellt Umgebungsvariablen zur Verfügung Client übergibt Informationen an Server, der schreibt sie in die Umgebungsvariablen CGI- Programme müssen darauf zugreifen können Nicht alle werden benutzt, oder unterstützt Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Umgebungsvariablen Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Ausgabe vom CGI Grundlegende Ausgabe: Text oder HTML Dokument aber auch Grafik oder Binärdatei Anweisung: Virtuelles Dokument in Cache aufnehmen HTTP Statuskodes an Browser senden Server anweisen, ein vorhandenes Dokument zu senden Seminar Internet-Technologien Thema: CGI / Michael Gründler

Erzeugung von HTML-Dokumenten CGI Programm schreibt Ausgabe auf Standard-Ausgabe Server leitet alles von Standard Ausgabe zum Client (Browser) Beispiel in Perl #!/usr/local/bin/perl print "CONTENT_TYPE: text/html", "\n\n"; print"<HTML>","\n; print"<HEAD><TITLE>Erstes Mal</TITLE></HEAD>", "\n"; print"<BODY><H1>...</H1>","\n"; print"</BODY></HTML>", "\n"; exit(0) Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Header Header, damit Client mit Dokument umgehen kann Header in beliebiger Reihenfolge Wichtig: Header mit Leerzeile abschließen! Vollständige und unvollständige Header WWW-Server vervollständigt Header Wenn CGI einen vollständigen Header erstellt, dann präfix nph (Non Parsed Header) vor CGI-Programm, sendet direkt zum Client Vorsicht: Server kann Header nicht mehr korrigieren! Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Header Seminar Internet-Technologien Thema: CGI / Michael Gründler

Versteckte Felder und Cookies Komplexe Dialoge mit mehreren Formularen erfordert Speicherung von Informationen unterschiedliche Strategien versteckte Felder: Informationen werden transparent für Benutzer im Formular gespeichert, - Formulare werden immer länger Persistent Cookies Datei auf Client-Seite, Anzahl und Größe ist beschränkt Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Sicherheitsaspekte Niemals Benutzereingaben ungeprüft auf Betriebssystemebene senden print ´$QUERY_STRING´; rm -fr / CGI-Programme laufen meist unter root Rechte, da Ports unter 1024 root-Rechte benötigen. Besser "Wrapper" benutzen. Durch Wrapper können Server und Programme mit beliebiger Kennung mit eingeschränkten Rechten betrieben werden Keine Passwortabfrage möglich, als Tag enthalten, aber unverschlüsselte Übertragung Seminar Internet-Technologien Thema: CGI / Michael Gründler

Abschließende Bemerkungen Kommerzielle Anbieter: ISAPI von Microsoft NSAPI von Netscape FastCGI, baut auf CGI auf Datenbankanbindung über erweiterte HTML-Sprachen (SELECT,...) Client-seitige Vorverarbeitung von Eingabedaten durch Java-Script Seminar Internet-Technologien Thema: CGI / Michael Gründler

Seminar Internet-Technologien Thema: CGI / Michael Gründler Literatur, Quellen CGI Programmierung im World Wide Web von Shishir Gundavaram, O´Reilly International Thomson Verlag Offizielle CGI Spezifikation: http://hoohoo.ncsa.uiuc.edu/cgi/interface.html SelfHTML 6.1 HTML Dateien selbst erstellen von Stefan Münz unter beliebiger Suchmaschine Suchstring "CGI" oder CGI-Programmierung" eingeben. Seminar Internet-Technologien Thema: CGI / Michael Gründler