Inneh ll. CGI och CGI-programmering. Common Gateway Interface. Common Gateway Interface. Mera dynamisk WWW. Kompletterande l sningar

Relevanta dokument
*:96 Overheads. Nested distribution lists. Part 3d: Mailing lists. Modes of distribution to many recipients

Lite mer om CGI-programmering

Björn Eiderbäck, Cristian Bogdan

F8 Webbteknologier 1. Dynamiska webbsidor

Webbservrar, severskript & webbproduktion

Introduk+on +ll programmering i JavaScript

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Webbprogrammering. Sahand Sadjadee

Modul 8 Hantering av indata

1. M öt et s öp pn an d e S ve n fö r k la r a r mö t et ö p p nat k lo c k a n i me d le ms k o nt o r et.

Webbserver och HTML-sidor i E1000 KI

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

Fly me to the moon. Laboration om relationer, TDDC75 Diskreta strukturer. Mikael Asplund. 5 september 2017

Webbsidor och webbservrar

Nätverk grunder Föreläsning 1: 1: Introduktion till Internet

Webbprogrammering grunder

Laboration med MINITAB, Del 2 Om Fyris ns global uppv rmning

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

E13 "Behind the Wild"

Voice over IP / SIP. Switching Costs SIP. Motivation for VoIP. Internet Telephony as PBX replacement. Internet Telephony Modes.

Nätverk och Java, grunder Föreläsning 0: 0: Introduktion till Internet

TDP013 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap

F9 Webbteknologier 1. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet

Uniform Resource Locator (URL) JavaServer Pages - JSP. Webbklienter. Webbserver. Hypertext Transfer Protocol (HTTP) HTTP Request

PHP. Dynamiska webbsidor

PHP-presentation Dataföreningens Open Source-nätverk

Föreläsning 2. Operativsystem och programmering

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

Checklista som kan anva ndas för att komma igång med DigiExam och allma nna rekommendationer fo r att lyckas med provtillfa llet.

JAVASCRIPT. Beteende

INSTRUKTIONSTEXT FO R PLEXTALK Linio Pocket - Mottagare fo r poddradio -

Björn Andersson Martin Meijer ASP och PHP En jämförelse mellan de båda teknikerna

Installation och konfiguration av klientprogramvara 2c8 Modeling Tool

Program & programmering

E13 Behind the Wild. Dagens agenda. Cookies Context/ändra context Augmentation (förstärkning) Klassiskt arv Att låna metoder Namespaces Postludium

TDP002 Imperativ programmering

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

F8 Webbteknologier 2. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet

Säkerhet, eller nått. Tomas Forsman

En informationstjänst för skolledare på Internet

Labora&on 8 Formulär övningar/uppgi6er

Internet. Internet hur kom det till? Internets framväxt. Ett hierarkiskt uppbyggt telenät Kretskopplat/circuit switching

Lösenordhantering i Device Config.

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Föreläsning 4 Serverskript PHP Validering av data med serverskript Formulär

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Din egen webserver med Apache

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets

Introduktion till programmering. Programspråk och paradigmer

INSTRUKTIONSTEXT FO R PLEXTALK Linio Pocket - Na tverksmapp -

Webbprogrammering - 725G54 PHP. Foreläsning II

Avancerade Webbteknologier

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

Tentamen etjänster och webbprogrammering

Webbprogrammering grunder

Voice over IP / SIP. Motivation for VoIP. Johan Garcia. Datakommunikation II. Baserat på material från Henning Schulzrinne, Columbia University.

WiFi4EU-kontrollfunktion. Vägledning v1.0

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

E12 "Evil is going on"

Teknisk plattform för version 3.7

Signalering. Vad är signalering

JavaScript in SharePoint and not just for Apps. Wictor Wilén

F5: Högnivåprogrammering

Kursplanering Utveckling av webbapplikationer

Axiell Arena Visa BOOK-IT:s resurser

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Web Services. Cognitude 1

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

En trygg och stabil finansiell partner n 0 1ra dig. Vi vill g 0 2ra det enklare f 0 2r f 0 2retagare i kommunen. G 0 2r det m 0 2jligt

Programbeskrivning. Chaos på Web. Version

Nr 1 Våren Foto: Håkan Nilsson

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

On-line produktion TDDC61

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe

Server-kod. TDDD80 Mobila och sociala applikationer

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

PHP. TNMK30 - Elektronisk publicering

Karusell med länkade omslagsbilder

1 3F 0 1rre kvinnliga f 0 2retagare vill v 0 1xa

Active Server Pages. Föreläsning 5. Exempel. Exempel. Exempel: Javascript. Klient- och serverscript. Active Server Pages (ASP)

Tentamensskrivning Nätverksprogrammering (EDA095 - FED) , kl 8-13

TDDC77 Objektorienterad Programmering

Enhetsr d Apen senheten

DOWNLOAD OR READ : VARA KYRKOR PDF EBOOK EPUB MOBI

Gratis support via telefon och e post ingår i tjänsten. Kontaktuppgifterna finns längst ner i dokumentet.

Web Client. Produktinformation

Laboration 2: Ett kommunikationssystem

Slutrapport för JMDB.COM. Johan Wibjer

T rädinventering & okulär besiktning Sågverksgatan, Kv Vedstapeln, Stureby

Sockets. Processkommunikation Sammanfattning. Sockets. Domän, typ och protokoll

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

Installationsguide, Marvin Midi Server

Transkript:

Inneh ll CGI och CGI-programmering Fredrik Kilander DSV Common Gateway Interface (CGI) Alternativ f r dynamiska -sidor -n CGI-en Programmeringsspr k S kerhet Applikationsdesign f r W WW Common Gateway Interface Common Gateway Interface Browser HTTP CGI CGI parameters stdin fi lename Local files environment variables loaded cgi executable stdout Kompletterande l sningar Mera dynamisk Embedded interpreter Thread pool Conn. pool OS inte beh ver inte starta en ny. -n kan styra resursanv n dningen. Java (servlets) ASP, Jscript, VBscript Custom browser Javascript JScript, VBscript Java (applets) ActiveX CGI r i nte beroende av klientimplementationen 1

-n -l s aren och n anv nder HTTP -l s aren anropar med GET eller POST GET : h m ta URL GET : www.bz.com/db.exe?nm=john+smith&tel=123+987 POST : skicka data till n och f svar POST : <form action= http://www.bz.com/db.exe method= POST > -n Exekvera eller skicka URL best ms av ns konfiguration. Hitta exekverbar fil och skapa en. Initiera milj va riabler (environment). Skicka POST data till stdin. Starta en. Skicka stdout till klienten. L sa m ilj var iabler. L sa st din (om POST). Avkoda parametrar. Formatera och skicka ett svar p st dout. REQUEST_METHOD = GET L sa mi lj variable r REQUEST_METHOD QUERY_STRING CONTENT_LENGTH REQUEST_METHOD = POST len = CONTENT_LENGTH params = QUERY_STRING params = read(stdin, len) Fler milj variabler SERVER_SOFTWARE SERVER_NAME GATEWAY_INT ERFACE SERVER_PROTOCOL SERVER_PORT REQUEST_METHOD PATH_INFO PATH_TRANSLATED SCRIPT_NAME QUERY_STRING REMOTE_HOST REMOTE_ADDR AUTH_TYPE REMOTE_USER REMOTE_IDENT CONTENT_TYPE CONTENT_LENGTH HTTP_ACCEPT HTTP_USER_AGENT HTTP_* http://hoohoo.ncsa.uiuc.edu/cgi/env.html Avkoda parametrarna GET: www.bz.com/db.exe? POST: Parameterstr ngen: s ::= namn = [v r de] [ & namn = [v rde]]... 2

1. Dela upp vid & 2. Dela upp vid = name=%c5ke+%d6rn age=22 3. Byt + mot (blan k) 4. Byt %xx mot tecken name %c5ke %d6rn age 22 name ke rn age 22 1. Dela upp vid & (par av namn och v rden) 2. Dela upp vid = (mellan namn och v rde ) 3. Byt + mot (blank) 4. Byt %xx mot tecken (hexadecimal kod) Rutiner ofta i bibliotek eller kopieras fr n tidigare projekt. Programmeringsspr k CGI N stan vi lket spr k som helst. Perl-script ( cgi- script ) Shell-script BAT-filer Pascal, C, C++ (l ng utveckl ingstid) 3

Java (servlets) Inb ddade spr k ASP (Active Server Pages) FastCGI CGI-program ers tts a v CGI- CGI-en terminerar inte - n och CGI-en anv nde r pipes eller f r paketbaserad, multiplexerad kommunikation CGI-en kan exekvera p en annan dator (Fast) CGI- (Fast) CGI- Java (servlets) Java-interpretator i -n URLer omkodas till metodanrop i objekt Nya servlets subklassar generisk klass Flera servlets kan bilda en filterkaskad Active Server Pages (ASP) Microsoft Internet Information Server IIS 4 K rs i -n (snabb start) Blandar flera spr k och syntaxer i samma k llkod: ASP-script, VBScript, JScript, SSI (n), VBScript, JScript, JavaScript, HTML, CSS (klienten). Active Server Pages (ASP) + snabb utveckling + samma funktionalitet som CGI + bra st d f r databaskopplingar (VBscript) - kan h nga ser vern - sv r t att avlusa - ingen modularitet - trasslig syntax S kerhet Det som f r g ra kan ocks bes karna g ra. Kolla alla indata, inklusive CONTENT_LENGTH. L t al drig indata exekveras utan inspektion. F rbjud allt och sl pp in det som r t ill t et, inte tv rt om. Logga allt. 4

Applikationsdesign f r r i grunden tillst ndsl st. Tillst nd beh vs i t ex dialoger. Cookies, dolda f lt, kompletta formul r Applikationsdesign f r Var f r siktig med finesser: Hur stor r a nv ndargruppen? Vilken utrustning har de? Vilka krav kan man st lla p dem? Vad kan man f rv nta sig av dem? Applikationsdesign f r Enkla anv ndargr nssn itt: Anv nd int e mer teknik n som kr vs. Undvik sk r mrullning. Anv nd mul tipla indikatorer: ledtexter, f rger, bilder Applikationsdesign f r Grundlig HTML-kodning: F lj en (1) standard. St ng al la mark rer som f r st ngas. Koda speglade indata i formul r. Anv nd analys verktyg. Kolla med m ng a www-klienter. 5