Exam text content

TIE-23500 Web-ohjelmointi - 21.10.2015

Exam text content

The text is generated with Optical Image Recognition from the original exam file and it can therefore contain erroneus or incomplete information. For example, mathematical symbols cannot be rendered correctly. The text is mainly used for generating search results.

Original exam
 

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

 

 

 


We use cookies

This website uses cookies, including third-party cookies, only for necessary purposes such as saving settings on the user's device, keeping track of user sessions and for providing the services included on the website. This website also collects other data, such as the IP address of the user and the type of web browser used. This information is collected to ensure the operation and security of the website. The collected information can also be used by third parties to enable the ordinary operation of the website.

FI / EN