Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl. Något om Cookies. Internetprogrammering.

Slides:



Advertisements
Liknande presentationer
Snabbguide och tips.
Advertisements

BAS-M Hur du på ett enkelt sätt administrerar din båtklubbs register.
First Class Arken - Introduktionskurs
Skapa ett video-CV på YouTube
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Intagningssystemets databas Ögonblicksbild Kopia av intagningsdatabasen Uppdateras 3 ggr per dag 07:15 – 12:15 – 15:15 Roller Skola, kommun Periodiseras.
Anneli och Christians Datorskola
Wikinggruppen Presentation av ”WIKING SMS” – Effektivisera din verksamhet.
Välkommen till internet för nybörjare
Klicka på Aktivera redigering i meddelandefältet,
E-post juni 2013.
FTP, HTTP, HTML, XML och XHTML
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 4
Maria Kihl och Jens A Andersson Kapitel 9: Applikationer.
Mjukvara och nätverk Vad är det?.
Programmering B PHP Lektion 1
Klasser och objekt.
”Ett sätt att distribuera Business Objects via webben”
Enkel dator teknik Tips och tricks.
Funktioner och programorganisation
Laterna Compact Booking Saknar du ett bra bokningssystem? Pröva det här! Lättanvänt Flexibelt Pålitligt.
Funktionen SA10-Grupper. Följande typer av grupper finns: - Grupp i kurs hör alltid ihop med en kurskod - Grupp i program hör alltid ihop med en programkod.
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Manual: Att skapa en ny sida. (Tryck på F5 för att se PP-presentationen)
1 ITK:P2 F9 HTTP, Java servlets och Apache Tomcat DSV Peter Mozelius.
©storm.
1 Liten summering: 1.Adress: ’ För att logga in på wlanet med bibliotekskortet är lösen = ’1111’. Kortnummer står på kortet! 2.Välj ’Admin’
Metoder i java Det finns två typer av metoder i java
Föreläsning 4 Python: mera om funktioner och parametrar
Programmeringsteknik K och Media
Att programmera i språket Java
NETinfo 2009–10-09 Magnus Persson Epost: Telefon: 046 –
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Next previous Innehåll Inledning Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella referenser (som används i marginalen)
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Internetprogrammering F 14 Läs också: Kursboken.
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
Mahmud Al Hakim Webmaster DAG 11 VT09 Mahmud Al Hakim
WEBMASTER DAG 13 Mahmud Al Hakim
Övning 1 Grundtjänster vid ÖHs datanät. Innehåll Under övningen skall du lära dig att Under övningen skall du lära dig att –Byta lösenord –Använda de.
Programmering B PHP Lektion 2
Programmering B PHP Lektion 1 Mahmud Al Hakim Folkuniversitetet
Programmering B PHP Lektion 2
Programmering B PHP Lektion 3
Max start-guide Liten och väldigt snabbt ihopkastad.
DATABASHANTERING för programmerare Lektion 3 Mahmud Al Hakim
Exder EPC. Exder EPC Välkommen! I det här bildspelet går vi igenom hur man lägger upp nya artiklar samt skickar artikelinformation. Du bläddrar framåt.
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
Servlets — Java på serversidan. previous next 2 Servlets Introduktion Javaservlets är en i raden av SUN:s många tillämpningar av Java. Servlets kan grovt.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Java paket och jar-filer
INTRODUKTION TILL PROGRAMMERING
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
BVForum - en genomgång för revisorer Sören Thuresson.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
2D1311 Programmeringsteknik med PBL Föreläsning 1 Skolan för Datavetenskap och kommunikation.
Programmeringsteknik Föreläsning 17 Skolan för Datavetenskap och kommunikation.
HTML Forms, CGI och HTTP. Översikt Innehåll – Presentation – Beteende HTML Forms (innehåll) CGI (beteende) HTTP (beteende)
Ladda ner och installera JAVA Mahmud Al Hakim DynamicOS
Programmeringteknik Webbdelen 2. webbprogrammering Server Den dator som websidan ligger på Klient Dator som tittar på webbsidan med en webbläsare (t ex.
Enkel dator teknik Tips och tricks. Välja storlek och radavstånd Här väljer du storlek på texten vi vill att ni använder 14 p till rubriker och 12 p till.
Starta bildspelet 1. Starta Bildspelet genom att klicka på Ikonen Bildspel i din webbläsare. 2. Klicka sedan, en gång, var som helst i dokumentet.
Presentationens avskrift:

next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl. Något om Cookies. Internetprogrammering Föreläsning 6 Läs också: Kursboken kapitel 27 + tillhörande OH-bilder Exemplen på kursens sidor: Läs också: Kursboken kapitel 27 + tillhörande OH-bilder Exemplen på kursens sidor:

previous next 2 FORMS, PERL, CGI, Cookies CGI Vad är CGI? –Common Gateway Interface är ett sätt att koppla program till HTML-sidor –Klienten/bläddraren anropar och skickar data för behandling till ett program som "körs" på en server Varför CGI? –Ett sätt att koppla beteende till HTML-sidor HTML är ju mest ett sätt att beskriva innehåll och inte beteende –Exekvering på server istället för på klient Kan göra exekveringen säkrare (ur både klient och serverhänseende) Ger tillgång till kataloger, filer och andra program på servern –Om vi tex vill använda databaser så är det lämpligt att placera dem på servern

previous next 3 FORMS, PERL, CGI, Cookies... Vilka programmeringsspråk kan man använda? –Ett CGI-script kan skrivas i många olika språk, tex Perl, C/C++, TCL, C Shell, Visual Basic, Python, (Java, Smalltalk) och AppleScript Vissa av dessa språk stöds inte av alla servrar eller servrar på vissa typer av plattformar –Med vissa servrar kan man också använda språk som Java och Smalltalk Hur ser ett CGI-program ut? –Ett program som är kopplat via CGI till en websida hanterar data som skickats via GET eller POST från den aktuella sidan –Vidare kan programmet hantera andra omgivningsvariabler för att tex kontrollera om anropande websida "körs" från en bläddrare på en gilltig plattform (vi kan tex se till att endast bläddrare startade på någon av NADAs datorer kan köra CGI-programmet)

previous next 4 FORMS, PERL, CGI, Cookies CGI på NADA Placera filen i din cgi-bin-katalog /afs/nada.kth.se/public/ Se till att alla får exekveringsrättigheter –Det är viktigt att sätta rättigheter för filen som innehåller ett CGI-program så att alla kan exekvera den Det är ett ganska vanligt fel att man glömt sätta dess rättigheter och därmed kan inte servern köra programmet –Under UNIX (dvs bla på NADA) sätter du filens (här FILNAMN ) exekveringsflagga ( x ) så att alla ( others ) kan köra den genom att utföra följande UNIX-kommando chmod o+x FILNAMN –Om du vill ha mer info om chmod utför kommandot man chmod –Se också till att alla får länka till och läsa från din cgi-bin-katalog fs setacl. system:anyuser rl Viktigt! När du ”står” i katalogen

previous next 5 FORMS, PERL, CGI, Cookies... Referensen till dina script blir Testa dina program så långt det är möjligt utanför webbsystemet först, dvs från terminal i stil med: >perl DinFil.pl Vi fel i exkvering via web kan du ha hjälp av get-errlog

previous next 6 FORMS, PERL, CGI, Cookies CGI några referenser CGI Tutorial – Allmänn "site" –

previous next 7 FORMS, PERL, CGI, Cookies Forms Vad är Forms? –Ett sätt att i HTML skapa sidor som använder inmatning av information från användaren och koppla hantering till program på en server –Vi kan hantera knappar, textfält, listor, mm Varför Forms? –HTML är ett språk för att beskriva innehåll på sidor och inte hur det skall hanteras –FORMS är ett sätt att beskriva olika grafiska objekt och koppla hanteringen av användarens inmatning via CGI till program skrivna i konventionella programspråk

previous next 8 FORMS, PERL, CGI, Cookies... Forms, hur? –En FORM ser ut ungefär så här Namn: Lösenord: "GET" eller "POST" beroende av hur data skall skickas I FORMEN kan vi både blanda vanlig HTML och komponenter En knapp som skickar FORMENS data Vi anger program till vilket data från FORMEN skickas Vi anger program till vilket data från FORMEN skickas Lösenordsfält Inmatningsfält Så här ger vi namn på komponenten som sedan kan användas av programmet för att läsa dess data

previous next 9 FORMS, PERL, CGI, Cookies Alternativ till FORMS Som alternativ till FORMS kan vi tex använda –Applets Fast lite besvärligare att programmera och så kör ju programmet på klientsidan vilket gör att det blir besvärligare att tex uppdatera en katalog på servern –Servlets Javas motsvarighet till CGI fast anpassat till Java –Plugin Det finns många typer av program som kan pluggas in till nätbläddraren för att sedan exekvera kod –Ett problem är att det är osäkrare än både applets och CGI då man inte är säker på vad programmet kan göra på klientsidan (kanske ändra filer, starta program osv) –JavaScript, DHTML mm I många situationer är dessa mer nätbläddrarinbyggda möjligheter enklast (och mest effektivt) att använda

previous next 10 FORMS, PERL, CGI, Cookies Perl (Practical Extraction and Report Language) För att exemplifiera CGI-script väljer vi att använda Perl. Vad är Perl? –Perl är ett interpreterande programspråk inspirerat av C och cshell –Finns på många plattformar (fast mest inspirerat av UNIX) –Många funktioner för bla mönstermatchning Varför Perl? –Relativt enkelt att använda Går att provköra som vanligt program från terminal –Finns på flera plattformar –Dock inbjuder inte Perl till välstrukturerade (speciellt stora) program –På kursen lär vi oss inte Perl utan kommer bara använda en bråkdel för att illustrera principerna för CGI

previous next 11 FORMS, PERL, CGI, Cookies …Perl... Kort översikt –Kursboken kapitel 27 med OH-bilder –Se Perls hemsida: –Se också gärna den blixtnsnabba introduktionen (till främst syntaxen) som du hittar på följande adress (klicka på pilikonerna längs ner till vänster) Exempel –Se nästa oh-sidas rekommenderade referenser samt exemplen på kursens sidor ( 01/contents/CGI/examples.html) 01/contents/CGI/examples.html

previous next 12 FORMS, PERL, CGI, Cookies …Perl några referenser Home page – Tutorial –

previous next 13 FORMS, PERL, CGI, Cookies Forms, CGI och Perl Ett enkelt exempel med HTML-kod med inmatning i ett textfält Data skickas till Perlprogram då knappen trycks Skriv meddelande: Ett inmatningsfält som vi ger namnet message En knapp för att skicka data En knapp för att rensa inmatad information En form kopplad till test.pl. Vi använder GET

previous next 14 FORMS, PERL, CGI, Cookies... #!/usr/local/bin/perl print "Content-type: text/html\n\n"; $REQUEST_METHOD = $ENV{'REQUEST_METHOD'}; $QUERY_STRING = $ENV{'QUERY_STRING'}; if($REQUEST_METHOD ne "GET") { print "Tyvärr jag klarar bara av GET Hej då!"; exit(0); } ($COMMAND, $MESSAGE) = split(/=/, $QUERY_STRING); if($COMMAND eq "message") { print " Du skickade följande "; print "Meddelande: $MESSAGE"; exit(0); } exit(0); Vi skickar HTML Metod som användes för att skicka data (GET eller POST), samt medskickade data Vi hanterar bara GET Dela upp kommandosträngen den skall ju se ut så här kommando=argument är den okey så skickar vi tillbaks lite info Vi ekar bla det inskickade meddelandet Skalära variabler skall börja med $ Det är Perl! Funktionen $ENV kan användas för att läsa omgivningsvariabler Funktionen $ENV kan användas för att läsa omgivningsvariabler

previous next 15 FORMS, PERL, CGI, Cookies... ett exempel Placera Perlfilen i din CGI-bin-katalog –Testa först från terminal så att uppenbara fel (syntaxfel osv) är eliminerade –Se till att filens rättigheter är riktiga Publicera din HTML-sida –Se till att hela sökvägen till samt namnet på filen är riktigt i ACTION-fältet Testa!

previous next 16 FORMS, PERL, CGI, Cookies Cookies Cookies låter program på servern spara enkel information hos klienten Syntax Set-Cookie: cookieNamn=cookieVärde Denna information skickas med i ”huvudet” vid vid nedladdningen av en sida via HTTP, i stil med (mer om HTTP- formatet på föreläsning 8) HTTP/ Document follows Date: Fri, 17 Nov :45:20 GMT Server: NCSA/1.5.2 Content-type: text/plain Set-Cookie: lastSubmittedLab=lab2;expires=Friday, 15-Jan :59:59 Resten av HTML-sidan

previous next 17 FORMS, PERL, CGI, Cookies... Programmet på servern kan sedan uppdatera cookiens information genom att ange nytt värde –Ett program på servern kan också definiera flera cookies Cookies lagras på klientsidan –Tex i katalogen (Windows-98) C:\WINDOWS\Cookies Från klienten skickas alla cookies som hör till en viss URL över vid kontakt med just den URLen –Dvs en viss site får bara se sina egna cookies

previous next 18 FORMS, PERL, CGI, Cookies... Cookies Vid skapande av Cookie kan man ange: –Sistadatum ( expires ) När ska cookien tas bort Om detta inte anges överlever cookien bara aktuell session –Katalog ( path ) Vilka underliggande ”websidor” skall få reda på cookien –Domän ( domain ) Vilka domäner skall få cookien Gör att man kan dela på cookies mellan domäner –Säkerhet ( secure ) Om Cookien bara ska skickas över ”säkra länkar”