Tentin tekstisisältö

TIE-23500 Web-ohjelmointi - 21.10.2015

Tentin tekstisisältö

Teksti on luotu tekstintunnistuksella alkuperäisestä tenttitiedostosta, joten se voi sisältää virheellistä tai puutteellista tietoa. Esimerkiksi matemaattisia merkkejä ei voida esitää oikein. Tekstiä käytetään pääasiassa hakutulosten luomiseen.

Alkuperäinen tentti
 

TIE-23500 Web-ohjelmointi

Tentti 21.10.2015 Jari-Pekka Voutilainen

Laatinut: Anna-Liisa Mattila, Antti Nieminen,

 

Tentissä ei saa käyttää ylimääräistä kirjallista materiaalia, laskimia, tietokoneita tai muita
välineitä. Vastauksen paras pituus on n. yksi sivu/tehtävä. Muista kirjoittaa niin selkeästi, että
pahantahtoinen arvioija uskoo sinun osaavan. Käytä tarvittaessa kuvia.

 

1

Esittele kurssin aihealuetta tuntemattomalle seuraavat asiat muutamalla
lauseella. Mainitse vastauksessasi ainakin kolme tärkeintä asiaa. Yhden
lauseen vastaus ei riitä.

a. npm

b. Same-origin policy

o. Tilaton asiakas-palvelin-malli

d. XMLHttpReguest

Gp
(4x1,5p)

 

 

Kirjoita JavaScriptillä funktio LuoLaskuri, joka palauttaa yksinkertaisen
laskuriolion. Laskurilla on metodi kasvata, jota kutsumalla laskurin arvo
kasvaa yhdellä. Metodi hae palauttaa laskurin arvon. Nämä kaksi metodia
ovat ainoat tavat käsitellä laskurin arvoa. Laskurin sisäinen muuttuja ei siis
näy ulospäin. Lisäksi selitä, miten ohjelmasi toteuttaa laskurin sisäisten
muuttujien piilottamisen.

HUOM! Älä stressaa koodin syntaksia, idea ja selitys-ovat tärkeimmät.
Laskuria käytetään seuraavasti:

var laskuri = luokaskuri();
var a = laskuri.hae(); // a =

laskuri .kasvata();
var b = laskuri.hae(); //b===1

  

 

6p

 

Jatkuu seuraavalla sivulla

 
 

3. Käyttäjän kirjautuminen web-sovellukseen voidaan toteuttaa monin tavoin. | 6p

a. HTTP Basic on yksinkertainen tapa toteuttaa käyttäjän tunnistus. (2p + 4p)
Selitä lyhyesti sen toiminta. Mitä huonoja puolia HTTP Basic
-kirjautumisessa on web-sovelluksen näkökulmasta?

b. Usein web-sovelluksen kirjautuminen toteutetaan evästeiden
(cookie) avulla ylläpidettävän istunnon (session) avulla. Selitä
evästeiden avulla toteutettujen istuntojen toiminta
yksityiskohtaisesti web-sovelluksen toteutuksen näkökulmasta.
Vastaa ainakin seuraaviin kysymyksiin:

m Miten istunto luodaan?

m Miten tietty käyttäjä yhdistetään tiettyyn istuntoon?

m Miten HTTP-pyyntö tunnistetaan kuuluvaksi istuntoon?

m Miten ja minne istuntoon kuuluva data tallennetaan?

m Milloin ja miten istunto päättyy?
(Istuntojen toteutukseen on hieman erilaisia tapoja, joten yllä
oleviin kysymyksiinkin voi olla useita oikeita vastauksia. Voit valita
mieleisesi tavan kunhan kuvaamasi järjestelmä on kokonaisuutena
yhtenäinen.)

 

4. Web-sovellusta vastaan voidaan tehdä monenlaisia tietoturvahyökkäyksiä. | 6p
Käsitellään tässä niistä kolmea. Selitä miten kukin tietoturvahyökkäys (3x2p)
toimii sekä miten web-sovelluksen kehittäjä voi suojautua sitä vastaan.

a. SOL-injektio |
= b. Crossssite Scripting (XSS) - s K | ommmalao
c. Cross-site Reguest Forgery (CSRF)

 

5. Olet saanut tehtäväksi suunnitella selaimessa pelattavan 6p
autosimulaattorin. Tarkoituksena on ajaa erilaisia ratoja ympäri
mahdollisimman nopeasti ja vertailla loppuaikoja ystävien vastaaviin. Pelin
graafinen toteutus ei ole oleellinen kurssin aihepiirin kannalta. Lisäksi
sivustolla pitää olla rajapinta tuloksien vertailuun. Miten lähtisit
toteuttamaan järjestelmää?

Kuvaile järjestelmän osat, missä ne suoritetaan, miten ne liittyvät yhteen ja
se mitä komponentteja toteutetaan milläkin tekniikoilla. Kuva voi selventää
ajatuksiasi. Suunnittele järjestelmä käyttäen kurssilla käytettyjä työkaluja
kuten Node.js, HTML, JavaScript ja CSS.

 

 

 

 

Yht. 30p

 

 

 


Käytämme evästeitä

Tämä sivusto käyttää evästeitä, mukaanlukien kolmansien puolten evästeitä, vain sivuston toiminnan kannalta välttämättömiin tarkoituksiin, kuten asetusten tallentamiseen käyttäjän laitteelle, käyttäjäistuntojen ylläpitoon ja palvelujen toiminnan mahdollistamiseen. Sivusto kerää käyttäjästä myös muuta tietoa, kuten käyttäjän IP-osoitteen ja selaimen tyypin. Tätä tietoa käytetään sivuston toiminnan ja tietoturvallisuuden varmistamiseen. Kerättyä tietoa voi päätyä myös kolmansien osapuolten käsiteltäväksi sivuston palvelujen tavanomaisen toiminnan seurauksena.

FI / EN