• No results found

Client scripting, server side scripting programming environment, client representation f cijf - april -

N/A
N/A
Protected

Academic year: 2021

Share "Client scripting, server side scripting programming environment, client representation f cijf - april -"

Copied!
3
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

b) Het object model van PHP en het object model van JavaScript verschillen aanzienlijk van elkaar.

Beschrijf beide object modellen en geef daarbij duidelijk aan waarin deze van elkaar verschillen.

a) Leg uit hoe event propagation werkt in de huidige DOM standaard. Geef bij je uitleg duidelijk het verschil aan tussen event capturing en bubbling. Laat aan de hand van een voorbeeld eveneens zien dat dit verschil van groot belang kan zijn voor het resulterende gedrag van een webapplicatie.

2. Client side scripting, server side scripting

b) Leg uit wat de betekenis is van de term "Cascading" bij het gebruik van Cascading Style Sheets.

Benoem eveneens de drie locaties waar style properties aan een HTML element gekoppeld kunnen worden.

a) Teken het centrale architectuurdiagram zoals dat binnen het vak Webtechnologie gehanteerd wordt.

Benoem elk van de componenten en de gegevensstromen. Leg eveneens uit waarom er geen database component aan de client side aanwezig is, terwijl dit wel voor de hand ligt.

1. Web programming environment, client side representation Succes!

Dit tentamen duurt twee uur. Dat is l O minuten voor elke deelvraag .

Je mag je antwoorden in het Nederlands of het Engels geven .

Formuleer je antwoorden duidelijk en precies. Probeer je antwoorden compact te houden (zonder de helft weg te laten :). Geef altijd een toelichting. Schrijf leesbaar, met een pen.

Dit tentamen bestaat uit 12 deelvragen in 5 categorieën. Elke deelvraag heeft hetzelfde gewicht en bepaalt daarmee voor l/12e het cijfer voor dit tentamen.

• Dit tentamen is gesloten boek. Je mag geen boeken. aantekeningen, slides, etc. gebruiken tijdens dit tentamen.

16 april 2014 17.00 - 19.00

WEBTECHNOLOGIE - TENTAMEN

(2)

c) Leg uit wat Cross-Site Request Forgery (CSRF/XSRF) is, hoe het werkt en welke gevaren hieraan verbonden zijn.

Beschrijf twee beveiligingsproblemen die deze controle kent. Geef voor elk probleem eveneens een voorbeeld van ongewenste invoer die toch geaccepteerd wordt.

stripos is een PHP functie die het tweede argument ( de speld) op case insensitive wijze zoekt binnen het eerste argument (de hooiberg). De positie van het eerste voorkomen wordt teruggegeven, of false als de speld niet in de hooiberg voorkomt.

} }

else {

echo 'Ongeldige invoer';

if (stripos($_GET[ 'query'], '<script>')

==

false) {

echo 'Je hebt gezocht op: ' . $_GET[ 'query'];

b) Een web developer wil XSS voorkomen door de volgende controle in PHP uit te voeren:

Leg uit welk beveiligingsprobleem deze code kent. Geef eveneens aan hoe je dit probleem kunt oplossen.

include ('templates/' . $template);

}

if (isset($_COOKIE[ 'template'])) {

$template= $_COOKIE[ 'template');

$template= 'chainsaw_theme.php';

a) Een web developer gebruikt de volgende PHP code om een website te personaliseren:

4. Security

c) Noem twee nadelen die het gevolg zijn van het hanteren van slechts één enkele zichtbare URL binnen de browser voor de volledige webapplicatie, bij het gebruik van AJAX. Geef eveneens aan hoe vanuit een webapplicatie betekenisvolle URLs opgebouwd kunnen worden zonder een page refresh te forceren.

b) Enkele aan HTML5 gerelateerde standaarden zijn server-sent events, cross-document messaging ( ook wel web messaging genoemd) en websockets. Alhoewel deze standaarden elk een eigen doel dienen, hebben ze ook overeenkomsten. Eén overeenkomst betreft de wijze waarop berichten ontvangen en verzonden worden. Geef een voorbeeld in JavaScript van de manier waarop dit binnen deze

standaarden in z'n werk gaat. Leg eveneens uit hoe binnen deze standaarden met de Same Origin Policy (SOP) wordt omgesprongen.

a) Atomaire database transacties zorgen voor een consistente database bij gelijktijdige toegang door meerdere gebruikers. Leg uit waarom database consistentie d.m.v. atomaire database transacties zo moeilijk te realiseren is in de context van een webapplicatie.

3. State, sessions, webdatabases, stateful web

(3)

_,

, - THE END-

b) Het is verstandig om in HTML een scheiding aan te brengen tussen lay out en structuur, net zoals het verstandig is om een scheiding aan te brengen tussen code die HTML genereert en code die de

"business logic" van een webapplicatie bevat. Leg uit wat de voordelen zijn van deze twee

scheidingen. Geef eveneens aan op welke wijze in de meeste frameworks de scheiding gemaakt wordt tussen code die HTML genereert en code die de "business logic" implementeert.

Geef één Perl compatible reguliere expressie die precies matcht met de hierboven beschreven gedaante van IP adressen. Probeer een zo compact mogelijke reguliere expressie te geven. Licht je reguliere expressie toe.

a) Een IP adres bestaat uit vier integers in de range O ... 255, gescheiden door een punt. Voorloopnullen in elk van de integers worden niet genoteerd. Voorbeelden van geldige IP adressen zijn: 192.168.0. l , 0.0.0.0 en 255.255.255.255. Voorbeelden van ongeldige IP adressen zijn 000.00.01.042 en

256.256.256.256.

5. Odds & ends

Referenties

GERELATEERDE DOCUMENTEN

As for the constraint language, methods may directly access the attribute relations and the local objects of the OT under description, all global objects should be accessed through

As demonstrated by the low precision scores with the boosting of Haar-like features approach, additional viable features for object fingerprinting are not likely to be found in

Young's modulus is the rate by which a material resists tensile deformations and its unit is Pascal (s). The unit is equal to the unit for stress, which is not so strange when

between an HTML document, or more precisely the Document Object Model (DOM) and JavaScript.. Query is free, open

• A standard (and it's not likely to become one, although it will influence standards, since it's really just an approach). • A product (although you can buy a lot of it these

The difference between different search algorithms is the order in which the states are explored (e.g. a stack or queue of waiting states) and if some states may or may not be

Van losse commando's naar een shell script. Ubuntu release party

In the dis- tributed object model, design objects and product objects from multiple resources form an integration of knowledge from various dis- ciplines. • Taking this one