Webbprogrammering - 725G54 PHP. Foreläsning II

Relevanta dokument
Webbprogrammering. Sahand Sadjadee

Elektronisk publicering TNMK30

Förra gången. jquery Lab 4 Muddy Cards resultat.

Projekt Foreläsning VI

Webbprogrammering, grundkurs 725G54

Webbservrar, severskript & webbproduktion

Elektronisk publicering TNMK30

Webbprogrammering TDDD52

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Avancerade Webbteknologier

Webbprogrammering 725G54

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

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

PHP. Dynamiska webbsidor

E11 "Protection" Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I

PHP. TNMK30 - Elektronisk publicering

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

Karlstads Universitet, Datavetenskap 1

Laboration 4. Laboration 4, Formulärvalidering. Inledning. Observera. Mål. Genomförande

Webbprogrammering, grundkurs 725G54

Labora&on 8 Formulär övningar/uppgi6er

Modul 6 Webbsäkerhet

Introduktion HTML och PHP 732G16 Databaser design och programmering

Tentamen etjänster och webbprogrammering

Lektion 5 HTML, CSS, PHP och MySQL

On-line produktion TDDC61

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

Introduktion till användning av linux-servern sledge och några övningsuppgifter

ASP.NET MVC. Copyright Mahmud Al Hakim Innehåll

TNMK30 Elektronisk publicering HT 2014 Laboration 5: PHP och MySQL

Gesällprov. Webbutveckling klient- och serversidan. Tomas Pålson topa4233

Nya webbservern Dvwebb.mah.se

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

JAVASCRIPT. Beteende

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet

Webbprogrammering, grundkurs 725G54

Innehålls förteckning

Asp.net mvc intro PER KVARNBRINK,

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

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

Databaser och Datamodellering Foreläsning IV

Innehåll. MySQL Grundkurs

Introduktion till MySQL

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

PHP. PHP: Hypertext Preprocessor

Formulär Sida 2 av 12

Hemsideutveckling för Anjool AB

ASP.NET Thomas Mejtoft

Slutrapport för JMDB.COM. Johan Wibjer

CMS. - Content management system

Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly

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

TDP003 Projekt: Egna datormiljön

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

Webbsäkerhet för IT-tekniker VT2014 Johan Leitet Nätverkssäkerhet, 1DV425 johan.leitet.se twitter.com/leitet facebook.

Databaser på webben. Revision Johan Näsholm, johan@nasholm.com

F8 Webbteknologier 1. Dynamiska webbsidor

Twisted Scissors. Ett projekt i kursen tnm /2007. Björn Gustafsson bjogu419@student.liu.se. Mats Wedell matwe812@student.liu.

"HTML5 och relaterade API:er"

Modul 8 Hantering av indata

Det här dokumentet går kortfattat igenom registrerings- och ansökningsprocessen.

On-line produktion TDDC61

Webbsidor och webbservrar

TNM065 Johan Eliasson johel964 Dokumentstrukturer Kristina Engström krien026

WebViewer Manual för administratör Nova Software AB

VAD GÖR DU / VEM ÄR DU?

Utveckling av Brooklyn Tigers webbplats

Webbprogrammering. Introduktion till PHP. Christian Ohlsson

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Handledning för installation och komma igång med Joomla

Utveckling av webbapplikationer med.net, DVA213 (1 av 5)

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

Vidareutveckling av lokalbokningssystem

Lite mer om CGI-programmering

Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informattionssystem Datum 30/5 Tid

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

teknisk manual Direktbetalning handelsbanken.se/e-handel

Labora&on 7 Syfte med laborationen:

Räkna med ASP.NET Web Forms

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

Webbsäkerhet. för IT-tekniker VT2013. Johan Leitet johan.leitet.se

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Hja lp till Mina sidor

Copy Cat Laboration 4

Introduktion till PHP

Fältnamn /Rubrik Fältnamn /Rubrik Fältnamn /Rubrik Fältnamn /Rubrik Data Data Data Data Data Data Data Data

HTML. Introduktion till HyperText Markup Language

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

Manual för din hemsida

Skriv före adressen och lämna bort www enligt modellen:

Del 1 och 2 HTML/CSS. Webbutveckling Laboration 1 Nicklas Bostedt

On-line produktion TDDC61

VAD GÖR DU / VEM ÄR DU?

URVAL AV UTFÖRDA FRILANSJOBB

1. Gå till redigeringsläge i Episerver, klicka på den sida som du vill ha ett formulär på. 2. Klicka på fliken Formulär.

E12 "Evil is going on"

Paket IIS BAS IIS Standard IIS Premium. Lagringsutrymme 10 GB* 50 GB* 100 GB* Epostutrymme 10 GB 25 GB 50 GB. Antal databaser 3 st 5 st 10 st

Webbteknik för ingenjörer

Transkript:

Webbprogrammering - 725G54 PHP Foreläsning II

Agenda Serverskript PHP Validering av data med serverskript Säkerhet Lab 2. Live coding

Serverskript Kör ett program på servern och resultatet skickas till klient PHP, Python, Ruby, Perl, ASP, C, Java, Men varför? Vad får vi då?

Serverskript VS

Dynamiska webbplatser

Serverskript Dynamiska webbplatser. Tar kraft av server inte klient. Kan användas tillsammans med databas på servern. Datan och logiken finns på server-sidan. Tillgång till databasen kan och ska kontrolleras. Busniess-logiken finns på server-sidan och kan inte ses av användaren. Det hjälper bättre säkerhet. Klienten kan bara se resultatet av koden. Hantera och reagera på data som skickas från klient. Det är så vanligt att Serverskript och HTML/CSS/Javascript är kombinerad. E.g. PHP, JSP, ASP, ASP.NET. Men varför behöver vi skicka data till server-sidan för att få dynamiska webbplatser fungera?

PHP - Hypertext Pre Processor Skrivs tillsammans med HTML Resultat - HTML Free Software Stort, populärt och användbart http://php.net Kan användas med databaser (MySQL).

PHP - Hypertext Pre Processor

PHP - Hypertext Pre Processor

PHP - Hypertext Pre Processor

Query Strings https://www.flygresor.se/showresult.php?id=195515877

Formulär För kort text: <input type= text.../> För lång text: <textarea...></textarea> För ett och endast ett av flera alternativ: <input type= radio.../> För inget, ett eller flera alternativ: <input type= checkbox.../> För rullgardinsmeny: <select><option...>...</option></select>

Ta emot formulär med PHP Formuläret skickas till action <form action= ta_emot.php.../> Formuläret skickas med submit <input type= submit.../> Värden hämtas med $myvalue = $_GET[ myvalue ]; eller $myvalue = $_POST[ myvalue ]; beroende på vad man satt för method <form... method= post...> <form... method= get...>

Formulär För tillgänglighet och användbarhet tänk på att: man ska kunna klicka på label-text för att markera ett fält. Kod: <label for= example >My label</label> <input id= example.../> Eller <label><input id= example.../>my label</label> ha en fungerande layout validera data innan skickas.

Session Det är jätte vanligt att man behöver besöka flera webbsidor för att göra en viss uppgift. E.g. när man vill handla varor från en eshop och lägger sina utvalda varor i vagnen. Sanningen är att webbservrar är jätte dum. De kommer inte ihåg användarna och det är därför när användaren lämnar en php sida och öppnar någon andra sida har webbservern ingen aning om vad användaren hade gjort innan. Vad kan vi göra om det?

Session

Session på IDA För att köra session på IDA måste man ange session_save_path( dir ); till en katalog på sitt konto där World/Others har läs och skrivrättigheter. Starta eller återuppta en session: session_start(); Lagra: $_SESSION[ value ] = $value; Hämta: $value = $_SESSION[ value ];

Validering av data med serverskript Användaren kan skicka fel data (ibland med avsikt) Serverskript kan skicka fel data Vad bör valideras? Data man inte kan lita på att den är korrekt Data som kan ställa till problem om den inte är korrekt Nästan all data. Det är också jätte viktigt att validera data på klientsidan. Detta kommer att diskuteras i framtida föreläsningar.

Cross-site Scripting ( XSS )

Sql injection

Funktioner is_int(n) - är n ett heltal is_float(n), is_bool(n) intval(s) - returnerar heltalsvärdet av s floatval, doubleval ctype_alnum(text) - kollar om alla tecken i text är bokstäver eller siffror Finns även: ctype_alpha, ctype_digit, ctype_lower, med flera

Fler funktioner strlen(s) - kollar längden på s trim(s) - tar bort mellanslag i början och slutet av s strpos(s) - letar reda på vilken position ett tecken, eller flera, har i s addslashes(s) - lägger till backslashes på kritiska tecken - \ \ htmlspecialchars(s) - gör om s till html-specialtecken, t ex < blir < is_email(s) Skriv egna funktioner

Laboration 2 Gör helt fristående från Lab 1 (nytt ämne, ny design) Test eller quiz Formulär och hantering av svar från formulär Olika svar ska ge olika resultat Presentation (CSS) ska passa för ert test eller quiz Validera inmatning med PHP Man ska inte kunna se på koden i webbläsaren vilket som är rätt svar.

Kod ni inte skrivit själva Från forum, böcker, php.net, bloggar, etc är enstaka rader kod OK Gör alltid en kommentar i koden var ni fått den ifrån om ni inte skrivit den själva (All kod som ni inte kommenterat en källa för räknas som att ni redovisar som eget arbete.) Att använda kod från andra studenter är ej OK.

Inför nästa föreläsning Gör klart labb 2!

Några exempel Exempel kod: http://www.ida.liu.se/~sahsa74/

Phone Booth

Tack och lycka till!