CGI-Programmierung. Am Beispiel eines Servers für numerische Berechnungen. FH Wiesbaden - Marius Mertz - Alexander Küken
|
|
- Ralph Kalb
- vor 8 Jahren
- Abrufe
Transkript
1 CGI-Programmierung Am Beispiel eines Servers für numerische Berechnungen FH Wiesbaden - Marius Mertz - Alexander Küken
2 Teil 1: CGI Einführung 2
3 Was ist CGI? Motivation In den Anfangszeiten des Internets waren Webinhalte rein statisch Bei statischen Inhalten reicht der Webserver die HTML-Seiten einfach an den Client (Browser) weiter Die HTML-Seiten liegen fertig im Dateisystem des Webservers 3
4 Statische Inhalte Client 1. Request Webserver 3. Datei einlesen 4. Response 2. Datei suchen Dateisystem 4
5 Was ist CGI? Motivation Die Entwickler der ersten Webserver suchten bald nach Möglichkeiten, die Webinhalte dynamisch zu gestalten Bei dynamischen Inhalten startet der Webserver einen Prozess, welcher die angeforderten Daten zusammenstellt Beispiel: Abfrage einer Datenbank 5
6 Dynamische Inhalte Client 1. Request Webserver 5. HTML Ausgeben 6. Response 2. Datei suchen Dateisystem 3. Prozess starten Prozess auf Systemebene 4. DB Anfrage Datenbank 6
7 Was ist CGI? Historisches Die ersten Webserver 1991: CERN httpd 1993: NSCA httpd (später: Apache) Beide Entwicklerteams implementierten eigene Methoden für: den Aufruf externer Programme (Prozesse) die Parameterübergabe an die Prozesse 7
8 Was ist CGI? Historisches Problem Scripte und Programme, die für einen der Server entwickelt wurden, waren nicht kompatibel mit dem Konkurrenz-Produkt Lösung Die Entwicklerteams beider Server einigten sich auf einen Standard für Aufruf und Parameterversorgung 8
9 Was ist CGI? Common Gateway Interface Schnittstelle, um Anwendungen mit Eingaben zu versorgen und deren Ausgaben weiterzuleiten CGI-Anwendungen können praktisch in jeder Programmiersprache erstellt werden Prozesse, welche vom Webserver gestartet werden 9
10 Kommunikation zwischen Webserver und CGI Request stdin Response Webserver stdout CGI stderr System z.b. Log-Dateien, syslogd, usw. 10
11 Was ist CGI? Common Gateway Interface Zwei Wege der Datenübergabe an CGI- Anwendungen GET: Direkt über die URL POST: Von der HTML-Seite selbst z.b. über ein Eingabeformular 11
12 Was ist CGI? Umgebungsvariablen enthalten Informationen zum Webserver und zum Client (Browser) werden aus drei verschiedenen Quellen erzeugt HTTP-Anfrage-Paket Webserver HTTP-Anfrage-Header des Browsers 12
13 Was ist CGI? CGI-Umgebungsvariablen: Beispiele CONTENT_LENGTH Größe der Daten (stdin) in Bytes CONTENT_TYPE Typ der übermittelten Daten QUERY_STRING Datenstring, welcher an der URL hängt 13
14 Was ist CGI? CGI-Umgebungsvariablen: Beispiele REQUEST_METHOD Methode der HTTP-Anfrage (GET oder POST) REMOTE_ADDR Die IP des Clients, der den HTTP-Request geschickt hat HTTP_ACCEPT Die vom Client akzeptierten MIME-Typen 14
15 Was ist CGI? GET-Methode Die zu übermittelnden Daten werden direkt an die URL angehängt Beispiel:.../meinskript.cgi?var1=wert&var2=wert Der Server trennt die Daten von der URL und legt sie in der Umgebungsvariablen QUERY_STRING ab Übermittelbare Datenmenge ist beschränkt 15
16 Querystring von HTTP GET bestimmen Beispielaufruf: get_example.cgi?var1=val1&var2=val2 char * get_querystring() { return getenv( QUERY_STRING ); } Ergebnis: var1=val1&var2=val2 16
17 Was ist CGI? POST-Methode Der Nachrichten-Body der Anfrage (HTTP Request) wird über stdin an die CGI Anwendung weitergeleitet Die CGI Anwendung muss dann von stdin die richtige Menge an Daten lesen Die Anzahl der einzulesenden Bytes steht in der Umgebungsvariable CONTENT_LENGTH Quasi keine Einschränkung der Datenmenge 17
18 Querystring von HTTP POST bestimmen Beispielaufruf: post_example.cgi char * post_querystring() { int content_length; char * result = NULL; content_length = atoi(getenv( CONTENT_LENGTH )); result = calloc(content_length + 1, sizeof(char)); fread(result, sizeof(char), content_length, stdin); return result; } Ergebnis: var1=val1&var2=val2 18
19 Ein allgemeinere Ansatz char * get_querystring() { int content_length; char * result = NULL; } if (strcmp(getenv( REQUEST_METHOD ), GET ) { return getenv( QUERY_STRING ); } else { content_length = atoi(getenv( CONTENT_LENGTH )); result = calloc(content_length + 1, sizeof(char)); fread(result, sizeof(char), content_length, stdin); return result; } 19
20 Beispiel für CGI/C Beispiel eines CGI Skriptes, implementiert in C Das Skript sammelt alle CGI-Umgebungsvariablen und gibt diese in tabellarischer Form über den Browser aus Methode: GET Datenübergabe via URL 20
21 Beispiel für CGI/C: Der Code Ein Array von Strings mit den Namen der Umgebungsvariablen: char *env[] = { "AUTH_TYPE", "CONTENT_LENGTH", "CONTENT_TYPE", "GATEWAY_INTERFACE", "HTTP_ACCEPT", "HTTP_ACCEPT_CHARSET", "HTTP_ACCEPT_LANGUAGE", "HTTP_COOKIE", "HTTP_CONNECTION", "HTTP_HOST", "HTTP_REFERER", "HTTP_USER_AGENT", "PATH_INFO", "PATH_TRANSLATET", "QUERY_STRING", "REMOTE_ADDR", "REMOTE_HOST", "REMOTE_IDENT", "REMOTE_USER", "REQUEST_METHOD", "SCRIPT_NAME", "SERVER_NAME", "SERVER_PORT", "SERVER_PROTOCOL", "SERVER_SOFTWARE", NULL }; 21
22 Beispiel für CGI/C: Der Code Methode, um den Kopf einer HTML-Datei zu schreiben: void print_html_header(char *titel) { printf("<html><head>\n"); printf("<title>%s</title>\n",titel); printf("</head><body><pre>\n"); } Methode, um den HTML-Code abzuschließen: void print_html_end(void) { printf("</pre></body></html>\n"); } 22
23 Beispiel für CGI/C: Der Code Methode, um den HTML-Header für den Browser zu schreiben. Dieser wird dadurch informiert, dass der nun folgende Inhalt Text, bzw. HTML darstellt. void print_header(void) { printf("content-type: text/html\n\n"); } 23
24 Beispiel für CGI/C: Der Code Die environment()-funktion: void environment(const char *s, int j) { char *p; p = getenv(s); printf("<tr>\n"); printf("<td>"); printf ("%d.", j); /* Index */ printf("</td>"); printf("<td>"); printf ("%s", s); /* Variablenname */ printf("</td>"); printf("<td>"); if(p!=null) printf ("%s", p); /* Variablenwert */ else printf("(<i>keine Angaben</i>)"); printf("</td>\n"); printf("</tr>\n"); } 24
25 Beispiel für CGI/C: Der Code Die Main-Funktion: int main(void) { int i; print_header(); print_html_header("cgi-umgebungsvariablen");... for(i=0; env[i]!= NULL; i++) { environment(env[i], i+1); }... print_html_end(); exit(0); } 25
26 Online Demo: Umgebungsvariablen 26
27 Sicherheit Vorsicht bei der Rechtevergabe für CGI Prozesse! Manche Provider lassen z.b. einen Apache-Server als Root laufen Dies hat Vorteile bei der Administration Logfiles können z.b. in alle Homeverzeichnisse geschrieben werden Vom Server gestartete Kind-Prozesse sollten NICHT als Root gestartet werden! 27
28 Sicherheit Da CGI Prozesse direkt auf dem Server- System als Kindprozesse gestartet werden, ist es möglich, auf diesem Weg Systembefehle auszuführen! Dies eröffnet Angreifern eine Hintertür, um auf dem Webserver schlimmstenfalls Schaden anzurichten 28
29 Sicherheit Beispiel: Gefahr besteht immer dann, wenn z.b. Eingaben aus einem HTML-Formular ungeprüft als Systemkommando ausgeführt werden Perl-Script: $result = qx(ping -c 5 $eingabestring); qx() setzt die eingeschlossene Zeichenkette in einen Kommandozeilenaufruf um 29
30 Sicherheit $result = qx(ping -c 5 $eingabestring); eingabestring enthält das Ping-Ziel result soll das Ergebnis im Browser darstellen Was passiert, wenn eingabestring einen Pipe- Operator enthält? foo ls -la qx(ping -c 5 foo ls -la); 30
31 Sicherheit $qx(ping -c 5 foo ls -la); Das Ergebnis dieses Kommandozeilenaufrufes enthält, auf einem Webserver ausgeführt das komplette Directory-Listing des Verzeichnisses /cgi-bin/! Natürlich könnten auf diesem Weg auch ganz andere Kommandos abgesetzt werden... 31
32 Sicherheit Deshalb gilt: Strings, welche ohne Prüfung an Systembefehle übergeben werden, haben in CGI- Skripten nichts zu suchen Solche Eingabestrings sollten unbedingt auf verdächtige Zeichen wie Pipe-Operatoren untersucht werden, bevor sie auf das Systen angewendet werden 32
33 CGI Performance C (GCC 4.0.1) 145 Fortran (G ) 121 Perl Ruby PHP Java 1.5.0_
34 Teil 2: Projekt-Dokumentation 34
35 Aufgabenstellung Entwicklung eines CGI basierten Servers für numerische Berechnungen in C. 35
36 Ansätze für die Entwicklung Das System soll einfach zu erweitern sein Kapselung in Bibliotheken libcgi: Ein- und Ausgabe libnum: numerische Funktionen libhtml: kapselung von HTML-Tags Unterstützung grafischer Ausgabe SVG Unterstützung (libsvg) Verzicht auf CGI Bibliotheken 36
37 Anwendungsstruktur HTTP-Client HTTP 1.1 kompatibler Browser Anwendungsschicht CGI 1 CGI 2 CGI 3 libcgi libhtml libsvg libnum Webserver lighttpd System POSIX kompatible Betriebsysteme 37
38 libcgi: Eingabeverarbeitung Aufruf von cgi_get_input() liefert die Eingabedaten: key1=value1&key2=value2&key3=value3 Eingabedaten werden am Trennzeichen & zerlegt: key1=value1 key2=value2 key3=value3 key/value Paare werden zerschnitten und als verkettete Liste abgelegt: key1 value1 key2 value2 key3 value3 Zugriff ähnlich wie bei einer HashMap 38
39 libcgi: Eingabeverarbeitung - Beispiel CGI_INPUTITEM *first = NULL; CGI_INPUTITEM *newitem; char *input; char *token; char *tok_save; input = cgi_get_input(); token = strtok_r(input, "&", &tok_save); while (token) { newitem = cgi_generate_inputitem(token); newitem->next = first; first = newitem; token = strtok_r(null, "&", &tok_save); } printf("key1: %s\n", get_inputitembykey(first, "key1")); printf("key2: %s\n", get_inputitembykey(first, "key2")); printf("key3: %s\n", get_inputitembykey(first, "key3")); 39
40 libcgi: Ausgabeverarbeitung Zentralisierte Ausgabe über Ausgabequeue Angelehnt an die MessageQueue aus der Systemprogrammierung Funktionen um HTML, SVG und Fehler in die Queue einzufügen Die Queue berechnet die Größe des Inhaltes in Byte um die Informationen im HTTP Header mitzusenden. 40
41 libnum: numerische Verfahren Sammlung von Funktionen für numerische Berechnungen ursprünglich von Herrn Weber in Turbo Pascal entwickelt später von ihm und Herrn Friedl nach C portiert kleinere Schönheitskorrekturen vorgenommen als Bibliothek übersetzt 41
42 libhtml: HTML-Ausgabe Kapselung der HTML-Tags als C-Funktionen Übersichtlicher Programmcode Zentrale Formatierung Wiederverwendbarkeit 42
43 libsvg: grafische Ausgabe Scalable Vector Graphics XML basierter Standard libsvg kapselt die SVG Ausgabe 43
44 Problemfelder: Stringverarbeitung Stringfunktionen in C eher rudimentär keine regulären Ausdrücke, kein String Replace, kein Substring, usw. Schaffung eigener Funktionsbibliotheken für die Stringverarbeitung auf Basis der vorhandenen Funktionen. Nutzung von Dritthersteller Bibliotheken: libstrfunc ( String Handling Library (shl.sourceforge.net) PCRE ( 44
45 Problemfelder: Debugging Problemstellung: Browser gibt im Fehlerfall meist nur einen Serverfehler aus. Log-Einträge im Fehlerprotokoll des Servers meist nicht sehr hilfreich gdb und ddd können nicht verwendet werden Lösungsansatz: Debugging als Konsolenanwendung Umgebungsvariablen manuell setzen CGI wie eine normale Anwendung testen 45
46 Online Demo: Horner-Schema Mit Hilfe dieses Schemas können Funktions- und Ableitungswerte eines Polynoms an einer festen Auswertungsstelle berechnet werden. 46
47 Teil 3: Weiterführende Themen 47
48 CGI und mod_* im Vergleich Standard CGI offener Standard mod_* abhängig vom Serverhersteller, teils properitär Skalierbarkeit Geschwindigkeit Sprachabhängikeit Systemabhängigkeit Serverabhängigkeit Persistenz skaliert nicht, Einsatz mehrerer Server und Loadbalancer notwendig langsam bei interpretierten Sprachen, da Interpreter bei jedem Request geladen wird Sprachunabhängig Systemunabhängig Serverunabhängig transient skaliert nicht, Einsatz mehrerer Server und Loadbalancer notwendig gute Geschwindigkeit durch vorladen des Interpreters herstellerspezifisch, meist nur interpretierte Sprachen herstellerspezifisch Serverabhängig transient 48
49 FastCGI offene Erweiterung des CGI Standards ein Versuch die Schwächen von CGI auszugleichen Protokoll für den Datenaustausch zwischen Webserver und Anwendungsprozess 1996 entwickelt von Open Market dennoch heute weitgehend unbekannt 49
50 Kommunikation zwischen Webserver und FCGI Request full-duplex socket Response Webserver FastCGI Prozess System z.b. Log-Dateien, syslogd, usw. 50
51 FastCGI: ein Beispiel #include <stdlib.h> #include "fcgi_stdio.h" void main(void) { /* Initialisierung */ int count = 0; /* Auf Requests warten */ while(fcgi_accept() >= 0) { /* Implementierung */ printf("content-type: text/html\n\n"); printf("<title>fastcgi Hello!</title>"); printf("<h1>fastcgi Hello!</h1>"); printf("request number %d\n", ++count); } } 51
52 FastCGI Performance static HTML Ruby FCGI mod_ruby 574 Ruby CGI
53 CGI und FastCGI im Vergleich Standard CGI offener Standard FCGI offener Standard Skalierbarkeit Geschwindigkeit Sprachabhängikeit Systemabhängigkeit Serverabhängigkeit Persistenz skaliert nicht, Einsatz mehrerer Server und Loadbalancer notwendig langsam bei interpretierten Sprachen, da Interpreter bei jedem Request geladen wird Sprachunabhängig Systemunabhängig Serverunabhängig transient skaliert sehr gut, Prozesse können ausgelagert werden sehr schnell durch Vorladen und Initialisierung mit Serverstart es gibt nicht für alle Sprachen FCGI Implementierungen ja, Quellen liegen vor Serverabhängig persistent 53
54 (F)CGI und Systemprogrammierung Warum ist das Thema interessant? Webbasierte Anwendungen werden immer interessanter und mächtiger Der Benutzer braucht nur einen Browser Nutzung der Bibliotheken des Systems Konfiguration für embedded Systeme Alternative zu RPC und verwandten Techniken 54
55 Representational State Transfer Alternative Technologie zu Remote Procedure Calls und ähnliche Techniken erstmals erwähnt in einer Dissertation aus dem Jahr 2000 Ressourcen basierter Ansatz URL identifiziert eine Ressource HTTP Method bestimmt die Aktion 55
56 Representational State Transfer HTTP CRUD SQL GET Read SELECT Ressource beziehen POST Create INSERT Ressource anlegen PUT Update UPDATE Ressource aktualisieren DELETE Delete DELETE Ressource löschen HEAD - - OPTIONS - - Informationen über Ressource beziehen Abfragen, welche Aktionen die Ressource unterstützt 56
57 Representational State Transfer URL identifiziert die Ressource/Entität HTTP Methode identifiziert die Aktion Dateiendung identifiziert das Format Beispiel: GET students/ xml HTTP/1.1 Host: fh-wiesbaden.intern Hole den Datensatz des Studenten mit der Matrikelnummer und liefere ihn als XML- Dokument 57
58 Fragen? 58
Einführung in die Scriptsprache PHP
Herbst 2014 Einführung in die Scriptsprache PHP Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW - Rainer Telesko / Martin Hüsler 1 Inhalt:
Mehrphp Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
MehrLokale Installation von DotNetNuke 4 ohne IIS
Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation
Mehr3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln
MehrRESTful Web. Representational State Transfer
RESTful Web Representational State Transfer 1 Warum REST? REST ist die Lingua Franca des Webs Heterogene (verschiedenartige) Systeme können mit REST kommunizieren, unabhängig von Technologie der beteiligten
MehrSicherheit in Webanwendungen CrossSite, Session und SQL
Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery
MehrTimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München
Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrHow-to: Webserver NAT. Securepoint Security System Version 2007nx
Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver
MehrProseminar: Website-Management-Systeme
Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das
MehrGrundlagen der Informatik 2
Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung
MehrDatenbanksysteme SS 2007
Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Mehrmysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
MehrFlash, Network und Facebook. Steven Mohr steven@stevenmohr.de
Flash, Network und Facebook Steven Mohr steven@stevenmohr.de Gliederung 1. Wie ist eine Facebook-App aufgebaut 2. Basics 3. Erste Demo einer kleinen Flash-Facebook-App 4. Friends, Achievements und Invites
MehrHTTP-Server. Frank Wübbeling Universität Münster
HTTP-Server Frank Wübbeling Universität Münster Aufgaben des Servers Input/Output (Port eröffnen etc.) Aufnehmen der Anforderungen Bereitstellung des Inhalts Bereitstellung der Header Erzeugung von Hintergrundinfos
MehrThemen. Apache Webserver Konfiguration. Verzeichnisse für Web-Applikationen. Server Side Includes
Themen Apache Webserver Konfiguration Verzeichnisse für Web-Applikationen Server Side Includes Apache Webserver Konfiguration des Apache Webservers Server-Einstellungen in der httpd.conf-datei Einteilung
MehrWichtige Eigenschaften der verwendeten Protokolle und Schnittstellen
Wichtige Eigenschaften der verwendeten Protokolle und Schnittstellen Der HTTP-Request die Anforderung einer URL durch den Client Im Folgenden ist ein vollständiger HTTP-Request eines Clients zur Anforderung
MehrOP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
MehrSummenbildung in Bauteiltabellen mit If Then Abfrage
Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle
MehrKommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten
Kommunikationsnetze 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten Gliederung 1. Einführung 2. Server-basierte Techniken 3. Client-basierte techniken Literatur: A. S. Tanenbaum, Computer
MehrPHP-Schwachstellen und deren Ausnutzung
PHP-Schwachstellen und deren Ausnutzung 44. DFN Betriebstagung / 7. Februar 2006 DFN-CERT Services GmbH Jan Kohlrausch / CSIRT Gliederung Grundlagen HTTP und PHP Anatomie typischer Schwachstellen in PHP-Skripten
MehrArtikel Schnittstelle über CSV
Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte
MehrApache HTTP-Server Teil 2
Apache HTTP-Server Teil 2 Zinching Dang 04. Juli 2014 1 Benutzer-Authentifizierung Benutzer-Authentifizierung ermöglicht es, den Zugriff auf die Webseite zu schützen Authentifizierung mit Benutzer und
MehrOnline-Publishing mit HTML und CSS für Einsteigerinnen
mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript
Mehrecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt
Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Inhaltsverzeichnis 1 Allgemein... 3 2 Erforderliche Anpassungen bei der Installation...3 2.1 Konfiguration Jboss 7 Applicationserver (Schritt 4/10)...3
MehrIT-Zertifikat: Allgemeine Informationstechnologien II PHP
IT-Zertifikat: Allgemeine Informationstechnologien II PHP PHP ( PHP: Hypertext Preprocessor ) ist eine serverseitige Skriptsprache: Der PHP-Code wird nicht wie bei JavaScript auf dem Clientrechner ausgeführt,
MehrGesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
MehrFileMaker Go 13 ohne Connects
Themen im Vortrag Gründe für diesen Vortrag Zwei Methoden werden vorgestellt Besprechung der verwendeten Techniken: - Netzwerkprotokolle - FileMaker CWP / XML - FileMaker URL Protokoll - XML parsen - E-Mail
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrProxy. Krishna Tateneni Übersetzer: Stefan Winter
Krishna Tateneni Übersetzer: Stefan Winter 2 Inhaltsverzeichnis 1 Proxy-Server 4 1.1 Einführung.......................................... 4 1.2 Benutzung.......................................... 4 3 1
MehrProjektvortrag von Andrzej Aftyka, Abdi Leili, Elsa Mahari
Projektvortrag von Andrzej Aftyka, Abdi Leili, Elsa Mahari Herzlich Willkommen [Lehrveranstaltung Systemprogrammierung SS008 bei Herr Prof. Weber] Projektthema: Programmiersprachen-Server mit CGI Inhaltsverzeichnis
MehrEnterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)
Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats
MehrWeb Sockets mit HTML5. Quelle: www.html5rocks.com/de
Web Sockets mit HTML5 Quelle: www.html5rocks.com/de Intensive Client-Server-Kommunikation: Beispiele Online-Spiele mit mehreren Mitspielern Chat-Anwendungen Live-Sport-Ticker Echtzeit-Aktualisierungen
MehrEinführung in die Programmierung
Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrCGI Programmierung mit Ha. Markus Schwarz
CGI Programmierung mit Ha Markus Schwarz Überblick Was ist funktionale Programmierung Einführung in Haskell CGI-Programmierung mit Haskell Ein etwas größeres Beispiel Was ist funktionale Programm Ein Programm
MehrInstallationsanleitung für pcvisit Server (pcvisit 12.0)
Installationsanleitung für pcvisit Server (pcvisit 12.0) Seite 1 version: 12.08.2013 Inhalt 1. Einleitung...... 3 2. Download und Installation.... 3 4. Starten der Verbindungssoftware. 6 4.1 Starten der
MehrHandbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen
Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...
MehrIEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version 2.0.1 Deutsch 14.01.2015
Version 2.0.1 Deutsch 14.01.2015 Dieses HOWTO beschreibt die Konfiguration und Anwendung der IEEE 802.1x Authentifizierung in Kombination mit der IAC-BOX. TITEL Inhaltsverzeichnis Inhaltsverzeichnis...
MehrPlanung für Organisation und Technik
Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis
Mehr5. Übung: PHP-Grundlagen
5.1. Erstes PHP-Programm 1. Schreiben Sie PHP-Programm innerhalb einer Webseite, d.h. innerhalb eines HTML-Dokument. Ihr PHP-Programm soll einen kurzen Text ausgeben und Komentare enthalten. Speichern
MehrAK Medientechnologien 05 Delegation
AK Medientechnologien 05 Delegation TableViews, XML Parser, Application Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Allgemeines zum Delegation Pattern Theoretische
MehrUniversal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.
ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
MehrEinfügen von Bildern innerhalb eines Beitrages
Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de
Mehr2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)
1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise
MehrAdminer: Installationsanleitung
Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann
MehrSchritt 1: Verwenden von Excel zum Erstellen von Verbindungen mit SQL Server-Daten
1 von 5 12.01.2013 17:59 SharePoint 2013 Veröffentlicht: 16.10.12 Zusammenfassung: Informationen zur Verwendung von Excel zum Erstellen und Freigeben von Verbindungen mit SQL Server-Daten, mit deren Hilfe
MehrMARCANT - File Delivery System
MARCANT - File Delivery System Dokumentation für Administratoren Der Administrationsbereich des File Delivery Systems ist ebenfall leicht zu bedienen. Die wichtigsten drei Abschnitte sind: 1. Profil, 2.
MehrInstallationsanleitung für pcvisit Server (pcvisit 15.0)
Installationsanleitung für pcvisit Server (pcvisit 15.0) Seite 1 version: 11.02.2015 Inhalt 1. Einleitung... 3 2. Download und Installation... 3 3. Starten der Verbindungssoftware....5 3.1 Starten der
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrHerzlich willkommen im Modul Web-Engineering
Herbst 2014 Herzlich willkommen im Modul Web-Engineering Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW / Martin Hüsler und Rainer Telesko
MehrWeb-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen
Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen Klaus-Dieter Walter SSV Software Systems GmbH Dünenweg 5 D-30419 Hannover www.ssv-embedded.de kdw@ssv-embedded.de
MehrPowermanager Server- Client- Installation
Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server
MehrAdvoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank
Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen
MehrDynamische Webseiten mit PHP 1
Dynamische Webseiten mit PHP 1 Webserver, PHP und MYSQL Ein Webserver dient dazu, Internetseiten an PCs zu senden, von denen sie aufgerufen werden. Beispiel: Sie tippen im Browser www.fosbosweiden.de ein.
MehrWebseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web
Webseiten sind keine Gemälde Webkrauts Die Initiative für die Webkrauts ging von einem Blogeintrag im August 2005 aus. Nach dem Aufruf fanden sich innerhalb von etwa drei Tagen über 60 Interessierte zusammen.
MehrHTML5. Wie funktioniert HTML5? Tags: Attribute:
HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrInternet und WWW Übungen
Internet und WWW Übungen 7 Serverseitige Web-Technologien [WEB7] Rolf Dornberger 1 06-11-12 7 Serverseitige Web-Technologien 1. Begriffe Zusatz für Interessierte: 2. JSP erstellen 3. Servlet erstellen
MehrJava - Webapplikationen
Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje
MehrAufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS
Aufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS Oktober 2015 Tipp der Woche vom 28. Oktober 2015 Aufruf der Weboberfläche des HPM-Wärmepumpenmanagers aus dem Internet Der Panasonic
MehrVersion smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):
Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils
MehrSeminar DWMX 2004. DW Session 015
Seminar DWMX 2004 DW Session 015 Veröffentlichen der lokalen Website Bis jetzt sind die Daten immer lokal in Dreamweaver bearbeitet und über die interne Vorschau mit F12/Strg.+F12 im Browser betrachtet
MehrWhitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 7 combit Relationship Manager email-rückläufer Script Inhalt Einleitung 3 Notwendige Anpassungen 3 crm Solution
MehrEinführung in die Skriptsprache PHP
Einführung in die Skriptsprache PHP 1. Erläuterungen PHP ist ein Interpreter-Programm, das auf dem Server abgelegte Dateien dynamisch, d.h. zur Zeit des Zugriffes, aufbereitet. Zusätzlich zum normalen
MehrApplication Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung
2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrClientkonfiguration für Hosted Exchange 2010
Clientkonfiguration für Hosted Exchange 2010 Vertraulichkeitsklausel Das vorliegende Dokument beinhaltet vertrauliche Informationen und darf nicht an Dritte weitergegeben werden. Kontakt: EveryWare AG
MehrEinführung in PHP. (mit Aufgaben)
Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
MehrITF2XML. Transferservice. Version 1.0. infogrips GmbH, Zürich client10.doc, Revision 1.1. Tel.: 01 / 350 10 10 Fax: 01 / 350 10 19.
GmbH Obstgartenstrasse 7 Informationssysteme Engineering & Consulting CH-8035 Zürich Tel.: 01 / 350 10 10 Fax: 01 / 350 10 19 ITF2XML Transferservice Version 1.0 infogrips GmbH, Zürich client10.doc, Revision
Mehrwww.horoskop-server.de Programmers Manual Geodaten Ver. 2.0
www.horoskop-server.de Programmers Manual Geodaten Ver. 2.0 Inhaltsverzeichnis Intro...3 Quick Start...3 Request...4 Parameter...4 Response...5 XML Format...5 Header...5 Liste der Orte...6 Stand: 28.12.2005
MehrKURZANLEITUNG CLOUD OBJECT STORAGE
KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrPHP Kurs Online Kurs Analysten Programmierer Web PHP
PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione
MehrDynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten
CGI einfach PHP Dynamik bis zur DB-Interaktion 1 CGI Möglichkeiten Das Common Gateway Interface (CGI) ermöglicht den Entwurf von interaktiven, benutzergesteuerten Web-Applikationen. Der WWW-Server ruft
MehrSAP NetWeaver Gateway. Connectivity@SNAP 2013
SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten
MehrWeb Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen
9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.
MehrSession Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de
s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
MehrEine Anwendung mit InstantRails 1.7
Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen
MehrWählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:
Installation Bevor Sie mit der Installation von MOVIDO 1.0 beginnen, sollten Sie sich vergewissern, dass der Internet Information Server (IIS) von Microsoft installiert ist. Um dies festzustellen, führen
MehrITF2XML. Transferservice. Version 1.1. Tel.: 044 / 350 10 10 Fax: 044 / 350 10 19. CH-8005 Zürich
GmbH Technoparkstrasse 1 Informationssysteme Engineering & Consulting CH-8005 Zürich Tel.: 044 / 350 10 10 Fax: 044 / 350 10 19 ITF2XML Transferservice Version 1.1 infogrips GmbH, 2001-2014 06.01.2014
MehrBetriebssystem Windows - SSH Secure Shell Client
Betriebssystem Windows - SSH Secure Shell Client Betriebssystem Windows - SSH Secure Shell Client... 1 Download... 2 Installation... 2 Funktionen... 3 Verbindung aufbauen... 3 Verbindung trennen... 4 Profile...
MehrAnleitung: Confixx auf virtuellem Server installieren
Anleitung: Confixx auf virtuellem Server installieren Diese Anleitung beschreibt Ihnen, wie Sie Confixx 3.0 auf Ihrem virtuellen Server installieren. 1. Schritt: Rufen Sie die Adresse www.vpsadmin.de in
MehrGuide DynDNS und Portforwarding
Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch
MehrSEMINAR Modifikation für die Nutzung des Community Builders
20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen
MehrJava zur Realisierung von Internetanwendungen
Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung Prof. Dr. Bernhard Schiefer HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm beispiel
MehrMit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.
Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen
MehrZugriff auf Daten der Wago 750-841 über eine Webseite
Zugriff auf Daten der Wago 750-841 über eine Webseite Inhaltsverzeichnis Einleitung... 3 Auslesen von Variablen... 4 Programm auf der SPS... 4 XML-Datei auf der SPS... 4 PHP-Script zum Auslesen der XML-Datei...
MehrARCHITEKTUR VON INFORMATIONSSYSTEMEN
ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrTechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung
Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung Diese Anleitung hilft Ihnen, das nachfolgend geschilderte Problem zu beheben.
MehrSeriendruck mit der Codex-Software
Seriendruck mit der Codex-Software Seriendruck mit der Codex-Software Erstellen der Seriendruck-Datei in Windach Sie können aus der Adressverwaltung von Windach eine sogenannte Seriendruck-Datei erstellen,
MehrAnleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand: 18.10.2013
Anleitung Lesezugriff auf die App CHARLY Termine unter Android Stand: 18.10.2013 CHARLY Termine unter Android - Seite 2 Inhalt Inhalt Einleitung & Voraussetzungen 3 1. Installation und Konfiguration 4
Mehrcrm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe
crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue
Mehr