Software Design Document

Maat: px
Weergave met pagina beginnen:

Download "Software Design Document"

Transcriptie

1 Software Design Document GameTrac Versie Datum Auteur(s) Opmerking /11/10 Matthijssens Roeland Eerste versie /11/10 Matthijssens Roeland Uses cases toegevoegd /12/10 Matthijssens Roeland Spellings fouten, afbeeldingen /02/11 Van Kerkhoven Goedele, Matthijssens Roeland Visueel design toegevoegd /02/11 Matthijssens Roeland Klassen design toegevoegd /03/11 Matthijssens Roeland Bespreking privacy design /05/11 Brecht Van Laethem Updaten database-diagram 1

2 Door hieronder te tekenen verklaart u akkoord te zijn met dit document en zijn inhoud. Het team Tom Strickx Brecht Van Laethem Bram Bruyninckx Roeland Matthijssens Gil Moeremans Goedele Van kerkhoven 2

3 Inhoudsopgave 1 Inleiding Doel Conventies Evolutie Acroniemen Termen Taak verdeling 5 3 Architecturaal design Vereisten Systeem structuur Multi-tier architectuur Three-tier architectuur Blok diagram Gebruikte technieken Logic tier Python (fast)cgi Client tier (X)HTML CSS AJAX Pagina ordening Database tier MySQL Databank model 12 6 Relatie beschrijving Algemeen overzicht Gedetailleerde overzicht Beschrijving vereisten Basis vereisten Inloggen Uitloggen Registreren Aanmaken van een spel Registreren op een bestaand spel Privacy beschrijving Wachtwoord encryptie MD Rainbow aanvallen Salts Gebruikers sessies

4 1 Inleiding 1.1 Doel Dit document bepaald het design en samenhang van de software van groep 1. Het project doelt op het modeleren van een portaal web-site voor het aanmaken van location-based spellen. Door middel van gestructureerde diagrammen en modellen wordt een duidelijk overzicht gegeven van de structuur van de software. De modellen dienen als leidraad voor voor de implementatie van de software, en kunnen beschouwd worden als conventie voorschrift om de code duidelijk en consistent te houden. 1.2 Conventies Elke verandering in dit document zal beschreven worden op de eerste pagina. Elke verandering aan dit document vereist specifieke toelating van de design manager of, in geval van afwezigheid, zijn backup. Elke verandering in dit document moet goedgekeurd worden door de design manager of, in geval van afwezigheid, zijn backup. Iedereen die betrokken is bij het project, zei het klanten of staff-leden, krijgt de mogelijkheid om zijn/haar opmerkingen kenbaar te maken. Deze opmerkingen worden door de design manager of zijn backup binnen een realistische tijdspanne behandeld. Wanneer nodig geacht door de project manager of zijn backup zullen maatregelen getroffen worden betreffende deze opmerkingen. 1.3 Evolutie Het Software Design Document (SDD) zal frequent geupdate worden naargelang er nieuwe noden of gebreken bekend raken. Het document zal voorzien worden van een overzicht van deze evolutie, en gekenmerkt worden door een identificatie nummer. Dit nummer is van de vorm x.y. In het geval dat een belangrijke of grote update gedaan wordt zal het versie nummer (het x gedeelte) verhogen. Kleine aanpassingen zullen door een verhoging in het y gedeelte kenbaar gemaakt worden. 1.4 Acroniemen CSS: Cascading Style Sheet: Een techniek om de vormgeving van een set web-pagina s in een enkele file vast te leggen. HTML: HyperText Markup Language: Een opmaaktaal voor de specificatie van documenten, voornamelijk bedoeld voor Web-sites. AJAX: Asynchronous JavaScript and XML: Een term voor het ontwerp van interactieve webpagina s waarin asynchroon gevraagde gegevens worden opgehaald van de webserver. Daardoor hoeven dergelijke pagina s niet in hun geheel ververst te worden en kunnen dmv. javascript functies stukken van de pagina worden aangepast. SQL: Structured Query Language: Een gestandaardiseerde taal die gebruikt kan worden voor taken zoals het bevragen en het aanpassen van gegevens in een relationele databank. ERM: Entity Relationship Model: Een datamodel of diagram voor het grafisch representeren van een conceptueel datamodel. 4

5 CGI: Common Gateway Interface: Een standaard voor dataoverdracht tussen client en de server WSGI: Web Server Gateway Interface: Een simpele universele interface voor communicatie tussen web-servers en web-applicaties in Python geschreven. MD5: Message-Digest algorithm 5: Een veelgebruikte cryptografische hashfunctie met een 128-bit hashwaarde. SHA2: Secure Hash Algorithm 2: De tweede versie van het secure hash algoritme. 1.5 Termen Apache: Software voor het hosten van web-servers. Location-based spellen: Spellen waarbij de virtuele en de echte wereld elkaar aanvullen. JavaScript: Een programmeertaal die veel gebruikt wordt om webpagina s interactief te maken en webapplicaties te ontwikkelen. Wilma: Een multifunctionele linux-server voor de studenten van de faculteit Wetenschappen van de VUB. 2 Taak verdeling De design manager is verantwoordelijk voor het onderhouden en aanpassen van het design document. Het is zijn taak om het team op de hoogte te houden van de veranderingen in het design. Wanneer problemen opduiken in het design is het de verantwoordelijkheid van de design manager om het design aan te passen. In het geval van kleine aanpassingen is het de design manager toegelaten zonder toestemmingen het design aan te passen. Bij grote aanpassingen zal de toelating van de project manager nodig zijn. In beide gevallen is het de taak van de design manager om de rest van het team op de hoogte te houden van de veranderingen. De teamleden kunnen ten alle tijden feedback geven over problemen of tekortkomingen van het design. Deze problemen zullen geanalyseerd worden door de designmanager en indien nodig zullen aanpassingen aangebracht worden in het design. In geval van grote problemen zal een aanvraag voor een vergadering ingediend worden zodat het probleem besproken kan worden met alle betrokkenen. Wanneer een probleem ontdekt wordt is het de betrokkenen toegelaten suggesties te geven om het design te verbeteren, of aan te passen. De effectieve taakverdeling is terug te vinden in het SPMP. 3 Architecturaal design De architectuur van de software is het hoogste niveau van design. Op dit niveau wordt beschreven hoe de organizatie van het gehele systeem in zijn werk gaat. Dit niveau abstraheert van de componenten van de software en de onderlinge relaties en kenmerken van componenten. In deze sectie zal een overzicht gegeven worden over de gebruikte architectuur. De beschrijving van de subsystemen, en de communicatie tussen deze subsystemen zal tevens beschreven worden. 5

6 3.1 Vereisten De gekozen architectuur zal moeten voldoen aan de volgende vereisten Uitbreidbaarheid: Het moet eenvoudig zijn om functionaliteit toe te voegen aan het systeem. Flexibiliteit: Het moet eenvoudig zijn om bestaande functionaliteit aan te passen, om aan nieuwe vereisten te voldoen. Eenvoud: Het systeem moet eenvoudig te begrijpen zijn voor buitenstaanders. Dit verhoogt eveneens de mogelijkheid om teamleden aan te werven, of te vervangen. Herbruikbaarheid: Voldoende abstractie moet hergebruik van het systeem, of stukken van het systeem mogelijk maken. Efficientie: De gekozen architectuur is efficient als het probleem effectief wordt opgelost, zonder nodeloze kosten, tijd, of inspanningen. 3.2 Systeem structuur Deze sectie beschrijft de structuur van het systeem. Om een goed begrip van het gebruikte systeem te garanderen zal eerst dieper ingegaan worden op het type van de architectuur die gehanteerd zal worden. Namelijk de Multi-tier architectuur en meer specifiek de Three-tier architectuur Multi-tier architectuur De multi-tier architectuur beschrijft een client-server architectuur waarin de componenten van het systeem logisch onafhankelijke proccessen zijn. Deze architectuur gaat ervan uit dat de software componenten in twee groepen gesplitst kunnen worden : de service-providers en de service-requesters. De providers kunnen allerhande systemen zijn bijvoorbeeld databank servers, ftp-servers, etc... De requesters zijn de software componenten die de gebruikers hanteren bijvoorbeeld web-browsers, -clients, etc... De meest gebruikte versie van deze architectuur is een die slechts uit 3 zulke software componenten is opgebouwd. Ook voor dit project zal een three-tier architectuur gebruikt worden. Het feit dat deze architectuur ideaal is voor web-aplicaties, zoals dit project, heeft een sterke impact gehad op de keuze voor deze architectuur Three-tier architectuur Voor de portaal web-site werd dus gekozen voor een three-tier architectuur. Dit is een architectuur die slechts uit 3 componenten bestaat. deze componenten zijn gebruikers interface of client-tier Logic-tier of middel-tier, dit component wordt ook wel bussiness-logic genoemd. Databank of database-tier. Wanneer we dit toepassen op een web-applicatie zoals de portaal web-site krijgen we Web-browser Web-server Databank server 6

7 Het splitsen van het systeem in kleinere deel systemen geeft enkele belangrijke voordelen. Omdat elk van de subsystemen makkelijker is om te implementeren dan 1 groot systeem vergemakkelijkt het development process. Ook zorgt de modulariteit van het geheel ervoor dat subsystemen makkelijk kunnen aangepast worden onafhankelijk van de andere subsystemen. We zullen nu een beschrijving van de subsystemen geven. Client tier: Dit is de bovenste laag van de applicatie en is hetgeen de gebruiker van het systeem te zien krijgt. In het geval van een web-applicatie zal de client-tier bestaan uit een web-browser die op de Desktop van de gebruiker draait. De browser zal gebruikt worden om binnen de site te navigeren en om informatie over de spellen en spelers op te vragen. Bijvoorbeeld op welke spellen heb ik me ingeschreven?. JavaScript, HTML, CSS en AJAX zijn enkele technieken die gebruikt zullen worden om de gebruikersinterface te ontwerpen. Logic-tier: Deze module draait op een server en dient om alle berekeningen te maken en beslissingen te nemen op basis van de informatie beschikbaar in de databank. Deze applicatie dient dus als brug tussen de gebruikersinterface en de databank. Wanneer een gebruiker zou opvragen op welke spellen heb ik me ingeschreven? berekent de logic-tier op basis van wat in de database staat welke spellen op het scherm van de gebruiker zullen verschijnen. De logic tier is vaak opgesplits in meerdere modules en is op zijn beurt dus ook multi-tiered. Database-tier Dit subsysteem bestaat uit een of meerdere databank servers. Hier wordt de informatie bijgehouden voor latere referentie. Deze module bewaart de data op een neutrale manier, onafhankelijk van de logic-tier en de client-tier. MySQL zal gebruikt worden voor deze module Blok diagram Een blok diagram is een voorstelling van een Three-tier architectuur voorzien van een voorbeeld van hoe de architectuur gebruikt wordt voor de portaal web-site. 7

8 4 Gebruikte technieken 4.1 Logic tier Python Python is een geinterpreteerde hoog niveau programeertaal. De filosofie van de taal benadrukt gebruiksvriendelijkheid, en leesbaarheid van de code zonder in te boeten voor kracht en expressiviteit. Python ondersteunt meerdere programmeer paradigma s maar biedt het meeste ondersteuning voor een object gerichte stijl (OO). Python werd gekozen als programmeertaal voor het project om de volgende reden: Python heeft dynamische typering. Python is een zeer expresieve taal, waardoor complexe stukken code op een elegantere, leesbaardere, vaak kortere manier kunnen neergeschreven worden dan in talen als C++ en JAVA. Python heeft een zeer goede ondersteuning voor object gericht programmeren, en het was een vereiste van het project dat een OO-stijl gehanteerd werd (fast)cgi Een eerste keuze om de Apache server met de code te laten comuniceren was door gebruik te maken van WSGI. Dit was niet mogelijk omdat de code op de Wilma server moet draaien, en er geen ondersteuning gegeven wordt voor WSGI. Als alternatief werd dan voor CGI gekozen. Maar omdat CGI scripts traag zijn, omdat voor elke request naar de server de python interpretor opnieuw moet worden opgestart, hebben we geopteerd om over te schakelen naar fast-cgi. Fast-CGI zal de python interpretor slechts een keer runnen, en de requests doorsturen naar deze interpretor, wat veel performantiewinst betekent. 4.2 Client tier Voor de gebruikers interface zal gebruik gemaakt worden van een web-browser. Om de interface te maken zal dus gebruik gemaakt worden van technieken als (X)HTML, AJAX, CSS en javascript. Het belangrijkste aan het design van de gebruikers laag van het systeem is eenvoud en bruikbaarheid. 8

9 4.2.1 (X)HTML HTML is de dominantie manier om web-paginas op te bouwen, en wordt door vrijwel elke webbrowser ondersteund. De structuur van HTML laat toe om op een eenvoudige manier paginas te genereren op de server. Alle nodige technieken om het project tot een goed einde te brengen worden ondersteund door HTML. Bijvoorbeeld links naar paginas, embedded fotos en interactieve forms CSS Cascading Style Sheets zullen gebruik worden om de opmaak van de site op een generische manier te bepalen. Het gebruik van CSS laat toe om de volledige opmaak aan te passen zonder de eigenlijke HTML structuur te veranderen. Daarenboven kunnen meerdere CSS-files gemaakt worden, zodat de gebruiker de layout van zijn pagina zelf kan kiezen. Hiervoor zullen een aantal standaard CSS files voorzien worden. Indien mogelijk zullen CSS files van de gebruiker toegelaten worden. Voor de voorziene CSS files is het belangrijk dat het de web-site een elegant en aantrekkelijke uitstraling geeft. Om dit te bekomen is het kiezen van een goede kleurencombinatie belangrijk. Als er niet voor een harmonieus kleurenpallet gekozen wordt zal de gebruiker niet meteen aangetrokken worden om de web-site te gebruiken. Om een aantrekkelijk kleurenpallet te kiezen kan gebruik gemaakt worden van Kuler van Adobe, op kuler.adobe.com. Figuur 1: Voorbeelden van kleuren palletten Op basis van deze kleuren schemas kunnen dan een aantal thema s opgesteld worden, die verwerkt worden in de CSS files. Bijkomend kan een achtergrond afbeelding of lettertype gebonden worden aan een thema. Zoals vermeld kunnen de gebruikers dan kiezen welk van de thema s hen het meeste aanspreekt. Bij het aanmaken van de CSS en dus het voorzien van een mapping van het kleurenpallet op de pagina-layout zal een goede keuze gemaakt moeten worden over welke kleuren waarvoor gebruikt zullen worden. Wanneer er bijvoorbeeld een palet gekozen wordt met complementaire kleuren, zal het nuttig zijn om bepaalde vlakken een opvalendere kleur te geven dan andere. Figuur 2: Voorbeeld van positie van contrasterende kleuren 9

10 In dit voorbeeld is het duidelijk dat de groene kaders meer aandacht naar zich trekken. Het is dus belangrijk om op voorhand te beslissen welke items moeten opvallen AJAX Asynchronous JavaScript and XML zal gebruikt worden om de pagina s interactief te maken. Het laat toe om stukken van een pagina aan te passen, en op de achtergrond requests naar de server te sturen. Dit heeft 2 grote voordelen. Ten eerste heeft de gebruiker minder vertraging in het browsen, want de pagina s kunnen deels aangepast worden, zonder een hele nieuwe pagina te moeten aanvragen. Ten tweede zal het de server een last sparen aangezien het de stukken HTML die op elke pagina getoond wordt slechts een keer moet genereren in plaats van voor elke request. De banners en het logo zijn bijvoorbeeld stukken van de HTML die niet zullen veranderen Pagina ordening De grootste prioriteit bij het ordenen van een pagina is de eenvoud van gebruik. De meest gebruikte functionaliteiten zullen daarom op vrijwel elke pagina beschrikbaar gemaakt worden. Uniformiteit en efficiëntie komen op de tweede plaats. Om de uniformiteit te garanderen zullen een aantal templates opgesteld worden. Op basis van deze templates kunnen dan paginas ontwikkeld worden, zonder de web-site als een geheel chaotisch te maken. Figuur 3: Voorbeeld van login pagina Paginas die ongeveer dezelfde karakteristieken vertonen als de login en registreer pagina zullen dit template volgen. Als leidraad voor het ontwikkelen van een visueel design kan de layout van facebook gebruikt worden. Het voordeel hiervan is dat veel mensen reeds bekend zijn met de opstelling van zulke site, en zich dus meteen vertrouwd voelen met de manier van ordening. Op basis daarvan is de keuze gemaakt dat de site in een aantal kolommen verdeeld zal worden (typisch drie kolommen waarvan de middelste het breedst zal zijn). In deze kolommen kan dan de informatie makkelijk gerangschikt 10

11 worden. Door de verdeling in kolommen zullen de AJAX scripts makkelijk stukken van de pagina van inhoud veranderen, zonder de statische kolommen aant te passen. Figuur 4: Voorbeeld van startpagina Figuur 5: Voorbeeld van spel pagina 4.3 Database tier MySQL MySQL is een relationeel database management systeem dat als een server draait en ondersteuning geeft voor multi-user acces. MySQL is een zeer veel gebruikte database voor zowel grootschalige als kleinere applicaties. MySQL is op veel vlakken beter dan het alternatief SQLite, alleen op portability scoort SQLite beter. Maar omdat er een web-applicatie gebouwd wordt is portability geen groot probleem. Omdat een web-applicatie toelaat veel gebruikers tegelijk requests te sturen is MySQL een betere keuze. SQLite 11

12 heeft ook volgend nadeel: elke keer er naar de database geschreven wordt zal SQLite de database afsluiten, waardoor andere request zullen moeten wachten. MySQL heeft dit probleem niet, en is dus beter geschikt voor web-applicaties dan SQLite. Enkele redenen waarom er voor MySQL gekozen werd: Een grote community Open-Source Zeer goede performantie Zeer betrouwbaar Makkelijk te gebruiken Goede integratie van Python met MySQL 5 Databank model Een ERM wordt gebruikt om een overzicht te geven van de structuur van de gebruikte database. 12

13 6 Relatie beschrijving Het klassen model geeft een overzicht van hoe de verschillende modules en klassen binnen de applicatie in verband staan met elkaar. Het beschrijft tevens welke functionaliteiten de verschillende klassen moeten implementeren. Het geeft ook een beeld van de requirements (terug te vinden in het SRS) die door de klassen verwezenlijkt worden. 6.1 Algemeen overzicht Deze sectie geeft een algemeen overzicht van de samenhang tussen de verschillende componenten. 13

14 Figuur 6: Algemeen overzicht Het belangrijkste aan dit figuur is de inheritance-relatie tussen gebruikers en administrators, en tussen spellen en templates. 6.2 Gedetailleerde overzicht Om esthetische redenen wordt het gedetailleerde overzicht in twee figuren opgedeeld. De onderlinge relaties tussen de verschillende componenten gelden zoals weergegeven in het algemeen overzicht. De requirements die gemodeleerd worden door bepaalde operaties of attributen werden als commentaar in de figuur geplaatst. 14

15 Figuur 7: gedetailleerd design van een gebruiker 15

16 Figuur 8: gedetailleerd design van een spel 16

17 7 Beschrijving vereisten 7.1 Basis vereisten In deze sectie zullen de basis vereisten van de portaal web-site besproken worden. De manier waarop dit zal gebeuren is aan de hand van use-case diagrammen deze worden opgebouwd gebruik makend van use-case analyses. Het doel hiervan is een grafische voorstelling te bieden van de functionaliteit die het systeem biedt in functie van de actors, hun doelen en afhankelijkheden tussen de taken Inloggen Om in te loggen zal de gebruiker naar de login-pagina moeten surfen. Daar zal hij de mogelijkheid krijgen om zijn gegevens in te vullen. Wanneer hij zijn gegevens naar de server post, zal er geverifieerd worden of deze gegevens juist zijn en indien dit niet het geval is zal een foutboodschap getoond worden. Wanneer de server de gegevens aanvaardt, en de gebruiker dus ingelogd wordt, zal in de database een sessie voor de gebruiker aangemaakt worden. Ook zal een unieke code in een cookie geplaatst en doorgestuurd worden naar de gebruiker zodat voor de volgende requests de juiste sessie uit de database gehaald kan worden. Eventueel kan de server dan ook de nodige html als response sturen zodat de gebruiker doorverwezen wordt naar de home-pagina Uitloggen Om uit te loggen zal de gebruiker op de logout knop drukken. Hierdoor zal de server zijn sessie in de database als inactief zetten, zodat de volgende keer er een request gedaan wordt met zijn cookie, en dus ook zijn unieke code, toch opnieuw zijn gegevens gevraagd zullen worden. Ook zal de gebruiker naar de home-pagina doorverwezen worden. 17

18 7.1.3 Registreren Om te registreren zal de gebruiker naar de registratie pagina surfen. Daar worden de nodige gegevens gevraagd. Nadat de gebruiker zijn gegevens gepost heeft, zal de server deze gegevens verifiëren. Net als bij het inloggen zal de server foutmeldingen weergeven wanneer nodig. In het geval dat de gebruiker alle nodige informatie heeft gegeven wordt een nieuw account aangemaakt in de database. Daarna zal de gebruiker naar de login-pagina doorverwezen worden, en kan hij met zijn gegevens inloggen Aanmaken van een spel Om een spel aan te maken zal de gebruiker naar de juiste pagina moeten surfen, waar om de nodige gegevens gevraagd wordt om een spel aan te maken. Om het zoeken van spellen te vergemakkelijken zal ieder spel van een naam, en een van de speltypes voorzien moeten zijn, eventueel kan een aantal beschrijvende woorden gegeven worden. Deze informatie zal gecontroleerd worden door de server. 18

19 Indien alles in orde is zal op basis van de template van het spel-type een spel aangemaakt worden. Dit spel plaatst de server dan in de database. Als tweede stap bij het aanmaken van het spel kan de gebruiker locaties toevoegen aan zijn spel. Dit gebeurt door de locatie waar de QR-tag geplaatst zal worden in te geven, en de informatie die getoond moet worden wanneer de tag gescanned wordt in te geven. Indien er al locaties gespecifieerd werden binnen het spel zal de server een lijst van deze locaties beschikbaar maken zodat locaties aan elkaar gelinkt kunnen worden Registreren op een bestaand spel Om zich in te schrijven op een bestaand spel kan de gebruiker een lijst vragen van alle bestaande spellen, of zoeken naar bepaalde woorden die met de tag of naam van de resulterende spellen moet matchen. De server zal de gevraagde spellen oplijsten, waarna de gebruiker op het gewenste spel kan klikken. Dan krijgt de gebruiker de mogelijkheid om zich op het geslecteerde spel in te schrijven. De server zal deze informatie in de database opslaan. 19

20 8 Privacy beschrijving Om de privacy van de gebruiker te garanderen zullen enkele keuzes gemaakt worden in verband met veiligheid van de data op de server. Deze keuzes zullen in deze sectie besproken en gemotiveerd worden. 8.1 Wachtwoord encryptie Wanneer een gebruiker zich wil registreren op de site zal om een geheim en persoonlijk wachtwoord gevraagd worden. Dit wachtwoord wordt dan in de database opgeslaan. In de veronderstelling dat de database nooit ongeautoriseerde toegang zou toelaten, en de personen met legitieme toegang tot de database de informatie geheim houden, is het opslaan van de wachtwoorden als plaintext als test geen probleem. Maar aan deze veronderstelling wordt vaak niet voldaan in praktische toepassingen. Extra beveiliging is dus nodig van de wachtwoorden. De enige informatie die op de server nodig is wanneer een persoon zich probeert aan te melden is zijn gebruikersnaam en zijn wachtwoord. Maar eigenlijk is men niet geïntereseerd in het effectieve wachtwoord. Men wil slechts weten of het wachtwoord dat de gebruiker bij het inloggen ingeeft, hetzelfde is als hetgeen hij bij de registratie koos. Hoe minder informatie over een passwoord er op de server staat hoe veiliger het wachtwoord is. Omwille van deze filosofie zal dus bij de registratie niet het passwoord zelf opgeslagen worden, maar een set karakters die gegenereerd werden op basis van het opgegeven wachtwoord. Op die manier kan men vanop de server nooit weten wat het effectieve wachtwoord is. Wanneer een gebruiker zich dan wilt inloggen kunnen op dezelfde manier een set karacters gegenereerd worden op basis van het nieuwe gegeven wachtwoord, en wanneer deze twee gegenereerde strings dezelfde zijn veronderstellen we dat het gegeven wachtwoord het juiste was. Indien deze procedure gebruikt wordt, veronderstelt men drie cruciale eigenschappen van de functie waarmee de string gegenereerd wordt. Het genereren van de set karakters moet deterministisch zijn. Indien dit niet het geval is, kan de string die op basis van een juist wachtwoord gegenereerd werd een mismatch geven. De gegenereerde set karakters moet uniek zijn. Indien hier niet aan voldaan wordt, kan een fout wachtwoord als juist geinterpreteerd worden. Op basis van de gegenereerde set karakters moet het onmogelijk zijn om te achterhalen welk wachtwoord gebruikt werd om de string te genereren. Indien dit wel mogelijk is, had men net zo goed de wachtwoorden zelf kunnen opslaan MD5 Secure hash functies doen precies hetgeen nodig is om zulke strings(hashes) te genereren. Meer specifiek zal Message Digest versie 5 gebruikt worden om de wachtwoorden te hashen. Het voordeel van MD5 boven een zelfgeschreven hash functie is de zeer sterke willekeur in de geproduceerde hashes. Een zeer kleine verandering in de input string zal met grote waarschijnlijkheid een zeer groot verschil in de output hash veroorzaken. Een tweede voordeel is de vaste lengte van de geproduceerde hashes. MD5 produceert 128-bit string vaak voorgesteld door 32 hexadecimale waarden. Omdat de lengte van de hash dus constant is kunnen optimalisaties aangebracht worden in de database waar ze worden opgeslaan. Ook kan de lengte van de hash geen indicatie zijn voor de lengte van het originele wachtwoord. 20

21 8.1.2 Rainbow aanvallen Rainbow aanvallen maken gebruik van een op voorhand berekende tabel om het invers van een cryptografische hash functie te simuleren. Op basis van de tabel wordt geprobeerd de originele text uit een hash te halen. In dit geval is de originele text het wachtwoord. Omdat het gebruik maakt van tabellen is deze aanpak van wachtwoorden kraken veel effectiever dan een brute-force algoritme dat alle informatie moet berekenen. Deze tabellen worden op basis van een groot aantal korte of veel voorkomende wachtwoorden opgebouwd. Langere wachtwoorden in de tabellen opslaan zou veel geheugen gebruiken, en zou niet optimaal zijn. Om meer plaats te sparen worden niet alle wachtwoorden en hashes opgeslaan, maar slechts het begin en eind van een sequentie gegenereerd door herhaaldelijk de hash- en de reverse-functie op te roepen op korte of veelvoorkomende wachtwoorden. Uiteindelijk krijgen we dan een set van beginwaarden, wat strings zijn, en een set van eindwaarden, wat hashes zijn. Figuur 9: Voorbeeld van opgeslagen wachtwoord-hash combinatie Wanneer we dan een hash willen kraken zal over alle eindwaarden gelopen worden om te kijken of dit dezelfde hash is als de gevraagde. Indien dit niet het geval is voor geen enkele waarde in de set, zal op de te-kraken hash de reverse functie toegepast worden, wat resulteerd in een string, die op zijn beurt gehashed wordt. Nu kan dit process herhaald worden met de nieuwe hashe. Wanneer een van de hashes op een gegeven moment toch hetzelfde is als de gezochte hash, wordt in die sequentie het eerste element genomen. Deze string wordt dan gehashed, en indien de bekomen hash overeen komt met de gevraagde, is die string het originele wachtwoord. Indien dit niet het geval is wordt op de bekomen hash de reverse functie toegepast, en wordt dit process herhaald. Indien er nooit een matchende hash gevonden werd faalt de rainbow aanval en is het passwoord niet gekraakt Salts Een goede manier om rainbow aanvallen tegen te gaan is natuurlijk om lange wachtwoorden te kiezen. Maar gebruikers dwingen om lange wachtwoorden te kiezen wordt vaak als ongebruiksvriendelijk beschouwd, of brengt andere problemen met zich mee, zoals wachtwoorden opschrijven waar de beveiliging van het wachtwoord minder goed is dan op de server. Om dit probleem aan te pakken bestaat er een techniek die salting heet. Wanneer een wachtwoord gehashed wordt, wordt bij de bekomen 32-letter string een extra string geplakt, waarna deze string opnieuw gehasht wordt. Dit zou normaal gezien het probleem van korte of veel voorkomende wachtwoorden tegengaan, en als gevolg dus ook het gebruik van rainbow tabellen zinloos maken. Maar dan bestaat de mogelijkheid natuurlijk dat op de server gekeken kan worden welke salt gebruikt werd om de wachtwoorden te beveiligen, wat het kraken weer vereenvoudigt. Dus wordt besloten om eerst het wachtwoord te hashen, en daarna de gebruikersnaam. Deze twee 21

22 hashes worden dan aan elkaar gehangen, en opnieuw gehashed. Dit zorgt ervoor dat elke gebruiker zijn presoonlijke salt heeft, en rainbow aanvallen dus vrijwel onmogelijk zijn. 8.2 Gebruikers sessies Een veel voorkomend probleem bij online applicaties is dat de server niet kan weten of een bepaalde gebruiker effectief wel de persoon is die het systeem denkt dat hij is. Als eerste stap om een onderscheid te maken tussen verschillende gebruikers wordt vaak verplicht om te registreren, en daarna aanmelden om de site te gebruiken. Wanneer een gebruiker zich dan aanmeld kan op de server een sessie gegenereerd worden die deze gebruiker representeert tot hij zich uitlogt. Door middel van willekeurige unieke keys die in cookies meegegeven worden aan de client, en terug gestuurd bij elke request kan het systeem de persoon identificeren. Wanneer dit systeem toegepast wordt zijn er natuurlijk enkele problemen. Het fenomeen van session stealing komt vaak voor bij dit soort van systemen. Een gebruiker probeert zich in te loggen op een publiek, onbeveiligd netwerk, waarna andere personen het dataverkeer tussen client en server kunnen afluisteren. Wanneer dan de cookie gestuurd wordt kan ook deze data afgeluisterd worden en gebruikt worden om in te loggen op een account die niet tot hem toebehoort. Zelfs grote online bedrijven, zoals Facebook kampen met dit probleem. Een veel gebruikte oplossing is het dataverkeer over HTTPS (HyperText Transfer Protocol Secure) te regelen. Maar dit lost niet alle problemen op die met het gebruik van sessies meekomen. Zo blijven man-in-the-middle aanvallen nog steeds effectief, zelfs over HTTPS. Om dit tegen te gaan kan gebruik gemaakt worden van publieke sleutel encryptie algoritmes of trusted-third-party certificaten, etc. Maar deze oplossingen kosten ofwel extra tijd om te decoderen, of geld om een geldig certificaat te kopen. Voor dit project zal een ietwat zwakkere oplossing gehanteetd worden dan de HTTPS oplossing, omdat men niet over het budget beschikt voor een geldig certificaat. De gebruikte oplossing bestaat uit het genereren van een nieuwe sessie telkens een request gedaan wordt. Het gevolg hiervan is dat de persoon wiens sessie gestolen werd onmiddellijk afgemeld zal worden wanneer iemand anders een request stuurt met zijn sessie, aangezien die van hem niet meer geldig is. Wanneer dit gebeurt meld deze persoon zich weer aan, en de gestolen sessie is vanaf dat punt niet meer bruikbaar. Dit kan echter voor ongemak zorgen van de gebruiker maar het garandeert wel dat er niet in naam van de gebruiker ongewenste handelingen gebeuren. Dit veronderstelt natuurlijk wel dat de sessies kunnen vernietigd worden door bijvoorbeeld uit te loggen. Maar ze zullen ook automatisch verwijderd worden wanneer een sessie voor een aantal minuten niet meer gebruikt werd. 22

Software Design Document

Software Design Document Software Design Document GameTrac Versie Datum Auteur(s) Opmerking 1.0 11/11/10 Matthijssens Roeland Eerste versie 1.1 25/11/10 Matthijssens Roeland Uses cases toegevoegd 1.1 11/12/10 Matthijssens Roeland

Nadere informatie

Software Engineering Groep 4

Software Engineering Groep 4 Software Engineering Groep 4 Software Design Description Jeroen Nyckees (Design Manager) Jan-Pieter Hubrecht (Project Manager) 3 e Bachelor Computerwetenschappen se4-1112@wilma.vub.ac.be 11 december 2011

Nadere informatie

Software Configuration Management Plan

Software Configuration Management Plan Software Configuration Management Plan GameTrac Versie Datum Auteur(s) Opmerking 0.1 31/10/2010 Tom Strickx Template 0.2 31/10/2010 Tom Strickx First draft 1 Door hieronder te tekenen verklaart u akkoord

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Software Project Management Plan

Software Project Management Plan Software Project Management Plan GameTrac Versie Datum Auteur(s) Opmerking 0.1 3/11/2010 Brecht Van Laethem 1 Door hieronder te tekenen verklaart u akkoord te zijn met dit document en zijn inhoud. Het

Nadere informatie

Software Quality Assurance Plan

Software Quality Assurance Plan Software Quality Assurance Plan GameTrac Versie Datum Auteur(s) Opmerking 1.0 10-12-2010 Bram Bruyninckx Eerste iteratie 1 Door hieronder te tekenen verklaart u akkoord te zijn met dit document en zijn

Nadere informatie

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april 2009. Versie 2.1.0

Technisch ontwerp. Projectteam 6. Project Web Essentials 02 april 2009. Versie 2.1.0 Projectteam 6 Faculteit Natuur en Techniek Hogeschool Utrecht Projectleider: Hans Allis, hans.allis@student.hu.nl Technisch ontwerp Project "Web Essentials" 02 april 2009 Versie 2.1.0 Teamleden: Armin

Nadere informatie

Software Design Document

Software Design Document Software Design Document PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage Versie

Nadere informatie

Software Design Document

Software Design Document Software Design Document PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage Versie

Nadere informatie

Software Requirements Specification

Software Requirements Specification Software Requirements Specification PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage

Nadere informatie

Naam project Lost And Found Animals Lokaal gehost Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50%

Naam project Lost And Found Animals Lokaal gehost Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50% Naam project Lost And Found Animals Url Lokaal gehost Groepsleden Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50% 1. Beveiliging in de toepassing Naam gebruiker Wachtwoord

Nadere informatie

Beschrijving functioneel en technisch design van de website

Beschrijving functioneel en technisch design van de website Bespreking Punten: Beschrijving functioneel en technisch design van de website Nr. Punt 1 Student 2 Bedrijf 3 Algemene lay out 4 Technologieën 5 Webruimte en datatrafiek 1. Student Registratie Bij de registratie

Nadere informatie

Project 4 - Centrale Bank. Rick van Vonderen TI1C

Project 4 - Centrale Bank. Rick van Vonderen TI1C Project 4 - Centrale Bank Rick van Vonderen 0945444 TI1C 23 mei 2018 Inhoudsopgave 1 Inleiding 2 2 Beheren 3 2.1 Git...................................................... 3 2.2 Risicolog...................................................

Nadere informatie

PHP-OPDRACHT SITE BOUWEN

PHP-OPDRACHT SITE BOUWEN PHP-OPDRACHT SITE BOUWEN PERIODE 4 LEERJAAR 1 Opleiding: Duur: Applicatieontwikkelaar 1 onderwijsperiode (4-8 weken) Voorkennis: Basiscursus PHP 5.4 Victor Peters (978 90 125 8499 9) Basiscursus XHTML,

Nadere informatie

Software Requirements Specification

Software Requirements Specification Software Requirements Specification PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

Software Project Management Plan

Software Project Management Plan Software Project Management Plan GameTrac Versie Datum Auteur(s) Opmerking 0.1 3/11/2010 Brecht Van Laethem Eerste versie voor klant 1.0 27/11/2010 Brecht Van Laethem Aanbrengen verduidelijkingen + toevoegen

Nadere informatie

Handleiding CMS. Auteur: J. Bijl Coldfusion Consultant

Handleiding CMS. Auteur: J. Bijl Coldfusion Consultant Handleiding CMS Auteur: J. Bijl Coldfusion Consultant Inhoudsopgave 1.0 Inleiding 3 2.0 Introductie CMS en websites 4 3.0 Inloggen in beheer 5 4.0 Dashboard 6 4.1 Bezoekers totalen 6 4.2 Bezoekers 7 4.3

Nadere informatie

Software Project Management Plan

Software Project Management Plan Software Project Management Plan GameTrac Versie Datum Auteur(s) Opmerking 0.1 3/11/2010 Brecht Van Laethem Eerste versie voor klant 1.0 27/11/2010 Brecht Van Laethem Aanbrengen verduidelijkingen + toevoegen

Nadere informatie

Handleiding voor gebruikers

Handleiding voor gebruikers December 2015 Postbus 19196 3001 BD Rotterdam Bezoekadres Kruisplein 25 3014 DB Rotterdam T 010-2066556 F 010 2130384 info@kennisid.nl Inhoudsopgave 1. Inleiding... 1 1.1 Wat is... 1 1.2 Vragen over...

Nadere informatie

Security web services

Security web services Security web services Inleiding Tegenwoordig zijn er allerlei applicaties te benaderen via het internet. Voor bedrijven zorgt dit dat zei de klanten snel kunnen benaderen en aanpassingen voor iedereen

Nadere informatie

STRABRECHT COLLEGE WORDPRESS WEBSITE

STRABRECHT COLLEGE WORDPRESS WEBSITE STRABRECHT COLLEGE WORDPRESS WEBSITE Na het bekijken van de aangeleverde.psd bestanden, blijkt er nog veel onduidelijkheden over de functionaliteit van de website. Met name wat de elementen zijn en de

Nadere informatie

UWV Security SSD Instructies

UWV Security SSD Instructies UWV Security SSD Instructies BESTEMD VOOR : Patrick van Grevenbroek AUTEUR(S) : Gabriele Biondo / T. Uding (vertaling) VERSIE : 1.0 DATUM : 20-03-2014 HISTORIE Datum Auteur(s) Omschrijving 20/03/2014 Gabriele

Nadere informatie

Grafisch ontwerp. Referenties. https://developers.google.com/webmasters/mobile-sites/ http://www.bluetrainmobile.com/mobile-showcase

Grafisch ontwerp. Referenties. https://developers.google.com/webmasters/mobile-sites/ http://www.bluetrainmobile.com/mobile-showcase Mobiel Datanose Op dit moment is mobiel datanose niet goed gedaan; je krijgt gewoon de site te zien zoals je het te zien krijgt op pc's of laptops. Maar vaak heb je het probleem dat je op je mobiel moet

Nadere informatie

icafe Een digitaal bestelsysteem voor de horeca Joeri Verdeyen Stefaan De Spiegeleer Naim Ben Tanfous

icafe Een digitaal bestelsysteem voor de horeca Joeri Verdeyen Stefaan De Spiegeleer Naim Ben Tanfous icafe Een digitaal bestelsysteem voor de horeca Joeri Verdeyen Stefaan De Spiegeleer Naim Ben Tanfous 2006-2007 Voorwoord 1 Inhoudsopgave 2 Hoofdstuk 1 Inleiding 3 Hoofdstuk 2 icafe 2.1 Het idee 2.2 Mogelijkheden

Nadere informatie

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat: Training Trainingscode Duur Gepubliceerd Taal Type Leermethode Kosten SF2015V8 4 dagen 02/02/2015 Nederlands & Engels Developer, basis Invidueel & klassikaal Op aanvraag Deze training richt zich op het

Nadere informatie

2 Eisenanalyse. 2.1 Functionele eisen het UseCaseDiagram

2 Eisenanalyse. 2.1 Functionele eisen het UseCaseDiagram 2 Eisenanalyse 2.1 Functionele eisen het UseCaseDiagram beschrijvingen van de UseCases en/of prototype Inloggen Inloggen Deze usecase zorgt ervoor dat de gebruiker zich kan inloggen op het systeem. lid

Nadere informatie

Puntjes op de I. Baris Firat

Puntjes op de I. Baris Firat Puntjes op de I Baris Firat 1 Functies en kritieke onderdelen in code (onderdelen die niet in één oogopslag te verklaren zijn) zijn voorzien van comments. Hierbij wordt er gebruikt gemaakt van geldende

Nadere informatie

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access Gebruik van cryptografie voor veilige jquery/rest webapplicaties Frans van Buul Inter Access 1 Frans van Buul frans.van.buul@interaccess.nl 2 De Uitdaging Rijke en veilige webapplicaties Een onveilig en

Nadere informatie

Software Requirements Specification

Software Requirements Specification Software Requirements Specification PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage

Nadere informatie

Installatiehandleiding Cane Webservices.nl Integratie

Installatiehandleiding Cane Webservices.nl Integratie Installatiehandleiding Cane Webservices.nl Integratie Inhoud INHOUD... 1 1. INTRODUCTIE... 2 DOELSTELLING DOCUMENT... 2 GERELATEERDE DOCUMENTEN... 2 GEBRUIK VAN HET DOCUMENT... 2 LEZERS DOELGROEP... 2

Nadere informatie

MWeb 4.0. Handleiding Basis Modules Versie 1.0

MWeb 4.0. Handleiding Basis Modules Versie 1.0 MWeb 4.0 Handleiding Basis Modules Versie 1.0 Index 1. Algemeen 3 1.1. Gebruikersnamen en Wachtwoorden 3 1.2. Inloggen 3 1.3. Uitloggen 3 1.4. Belangrijk 3 2. User Manager 4 2.1. Gebruikers lijst User

Nadere informatie

Ontsluiten iprova via Internet Voorbeeld methoden

Ontsluiten iprova via Internet Voorbeeld methoden Ontsluiten iprova via Internet Voorbeeld methoden 12-12-2016 Inhoudsopgave 1 Inleiding... 3 2 Algemene aandachtspunten... 4 3 Voorbeeld methoden... 6 3.1 Ontsluiten via een (bestaande) telewerken oplossing

Nadere informatie

Opdrachtformulering (pagina 3 van 7)

Opdrachtformulering (pagina 3 van 7) Afstudeerovereenkomst van Tim Wils Bijlage 1 Opdrachtformulering (pagina 3 van 7) Dit project betreft een eigen framework (soort API) waarmee relatief gemakkelijk en in korte tijd eindproducten opgezet

Nadere informatie

Zicht - Content Management Systeem een algemene beschrijving

Zicht - Content Management Systeem een algemene beschrijving Zicht - Content Management Systeem een algemene beschrijving Versie april/2008 Zicht nieuwe media ontwerpers 2008 1 Inleiding Een Content Management Systeem (CMS) is een webapplicatie waarmee je zonder

Nadere informatie

Software Requirements Specification. Roux Reinert 18 mei 2011

Software Requirements Specification. Roux Reinert 18 mei 2011 Software Requirements Specification Roux Reinert 18 mei 2011 1 Inhoudsopgave 1 Introduction 1 1.1 Purpose................................ 1 1.2 Scope................................. 1 1.3 Definitions,

Nadere informatie

Software Requirements Specifications voor Schedule-Generator

Software Requirements Specifications voor Schedule-Generator Software Requirements Specifications voor Schedule-Generator Matthias Caenepeel Adam Cooman Alexander De Cock Zjef Van de Poel 20 mei 2011 Versie 3.0 1 Aanpassingsgeschiedenis. 23/2/2011 versie 0.1: Aanmaak

Nadere informatie

Toelichting gebruik websitemachine. Stichting Kader- en Ondernemersopleiding Bouwbedrijf Docentenhandleiding

Toelichting gebruik websitemachine. Stichting Kader- en Ondernemersopleiding Bouwbedrijf Docentenhandleiding Toelichting gebruik websitemachine Stichting Kader- en Ondernemersopleiding Bouwbedrijf Docentenhandleiding Toelichting gebruik websitemachine De websitemachine is een webapplicatie waarmee u op eenvoudige

Nadere informatie

DrICTVoip.dll v 2.1 Informatie en handleiding

DrICTVoip.dll v 2.1 Informatie en handleiding DrICTVoip.dll v 2.1 Informatie en handleiding Nieuw in deze versie : Koppeling voor web gebaseerde toepassingen (DrICTVoIPwebClient.exe) (zie hoofdstuk 8) 1. Inleiding Met de DrICTVoIP.DLL maakt u uw software

Nadere informatie

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op 1 Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP.... 8 Joomla installeren op XAMPP... 15 Handige links... 16 2 Disclaimer Bij de samenstelling

Nadere informatie

Webapplicaties Op maat van je proces

Webapplicaties Op maat van je proces Webapplicaties Op maat van je proces Content Wat is een webapplicatie Voordelen van webapplicaties Toepassingen/Use cases Wat is een webapplicatie Wat is een webapplicatie Webapplicaties laten toe om processen

Nadere informatie

SBO WEBSITES BOUWEN IN 7 STAPPEN

SBO WEBSITES BOUWEN IN 7 STAPPEN SBO WEBSITES BOUWEN IN 7 STAPPEN STAPPENPLAN WEBSITE BOUWEN Online ondernemers behalen drie procent meer omzet dan hun offline collega's, zo blijkt uit onderzoek. Een goede reden om als mkb er online aanwezig

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 21, 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren..................

Nadere informatie

Xampp Web Development omgeving opzetten onder Windows.

Xampp Web Development omgeving opzetten onder Windows. Xampp Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 3. Installatie Xampp... 3 1.1 Installatie Xampp Launcher... 7 1.2 Controle geïnstalleerde bestanden...

Nadere informatie

CasualCMS heeft de volgende structuur: De website: pagina s beheren en algemene instellingen. De gebruiker: bezoekers, bezoekers met toegang tot bev-

CasualCMS heeft de volgende structuur: De website: pagina s beheren en algemene instellingen. De gebruiker: bezoekers, bezoekers met toegang tot bev- CasualCMS Inhoud CasualCMS Website Een nieuwe pagina maken Een pagina later wijzigen Een pagina verwijderen De volgorde van pagina s in het menu wijzigen Website instellingen Gebruikers Inhoud Modules

Nadere informatie

Project plan. Erwin Hannaart Sander Tegelaar 61849 62407

Project plan. Erwin Hannaart Sander Tegelaar 61849 62407 Project plan Erwin Hannaart Sander Tegelaar 61849 62407 I4C2 I4C1 1 Inhoudsopgave Doel en doelgroep van het project... 3 Beschrijving van het project... 4 Benodigde materialen... 5 Te verwachten resultaten,

Nadere informatie

Dynamische webapplicaties in Java

Dynamische webapplicaties in Java Dynamische webapplicaties in Java October 7, 2006 In java is het mogelijk dynamische webpagina s te implementeren. De code om de dynamische gegevens te genereren staat in servlets of Java Server Pages

Nadere informatie

Connect Social Business

Connect Social Business Connect Social Business Joey Kaan September 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren.................. 5 2.2 Facebook API leren door

Nadere informatie

Code signing. Door: Tom Tervoort

Code signing. Door: Tom Tervoort Code signing Door: Tom Tervoort Wat is code signing? Digitale handtekening onder stuk software Geeft garanties over bron Voorkomt modificatie door derden Bijvoorbeeld met doel malware toe te voegen Ontvanger

Nadere informatie

1. Milieuklacht... 2 1.1 Handleiding opladen XML in mkros... 2 2. Werken met Refertes... 5

1. Milieuklacht... 2 1.1 Handleiding opladen XML in mkros... 2 2. Werken met Refertes... 5 1. Milieuklacht............................................................................................. 2 1.1 Handleiding opladen XML in mkros......................................................................

Nadere informatie

Poging 3: KEY001: SESID: Hiermee zijn we ingelogd als gebruiker DEMO2 :

Poging 3: KEY001: SESID: Hiermee zijn we ingelogd als gebruiker DEMO2 : Portaal A Dit portaal is een portaal geschreven in ASP.NET, en wordt slechts gebruikt (voor zover wij konden beoordelen) door één leasemaatschappij. Zoals bij elke test van een webapplicatie starten wij

Nadere informatie

Projectdocument Airport Suite. The Wright Company: Zehna van den Berg Steven Both Reinier Maas Adolfo Ochagavía Bas Ouwerkerk Thijs van der Zaan

Projectdocument Airport Suite. The Wright Company: Zehna van den Berg Steven Both Reinier Maas Adolfo Ochagavía Bas Ouwerkerk Thijs van der Zaan Projectdocument Airport Suite The Wright Company: Zehna van den Berg Steven Both Reinier Maas Adolfo Ochagavía Bas Ouwerkerk Thijs van der Zaan December 2013 Contents 1. Overzicht... 4 2. Planning... 5

Nadere informatie

Inhoudsopgave. versie 0.8

Inhoudsopgave. versie 0.8 JOOMLA! INSTALLATIE HANDLEIDING versie 0.8 Inhoudsopgave Stappenplan...3 Inrichten database...4 Configuratiecentrum cpanel...4 Aanmaken van een database gebruiker...5 Aanmaken van een database...6 Gebruiker

Nadere informatie

Inleiding... 3. Het e-mailadres... 3. Hoe werkt e-mail?... 3. Je emailadres registreren... 4. Aanmelden bij Outlook... 7. Schermonderdelen...

Inleiding... 3. Het e-mailadres... 3. Hoe werkt e-mail?... 3. Je emailadres registreren... 4. Aanmelden bij Outlook... 7. Schermonderdelen... E-MAIL INHOUD Inleiding... 3 Het e-mailadres... 3 Hoe werkt e-mail?... 3 Je emailadres registreren... 4 Aanmelden bij Outlook... 7 Schermonderdelen... 8 Mailen... 10 Een mail lezen... 10 Een mail versturen...

Nadere informatie

Koppeling met een database

Koppeling met een database PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt

Nadere informatie

Installatiehandleiding Business Assistent

Installatiehandleiding Business Assistent Installatiehandleiding Business Assistent Wijzigingsgeschiedenis Versie Datum Omschrijving Status 0.1 25-09-2014 Eerste opzet van het installatie Concept document. 1.0 04-11-2014 Geen: Commercieel maken

Nadere informatie

Welkom in de wondere wereld van websites met WordPress.

Welkom in de wondere wereld van websites met WordPress. Welkom in de wondere wereld van websites met WordPress. Alsjeblieft, dit kleine WordPress woordenboekje is voor jou. Want als je voor het eerst een website met WordPress gaat maken kom je misschien woorden

Nadere informatie

Software Requirements Specifications voor Schedule-Generator

Software Requirements Specifications voor Schedule-Generator Software Requirements Specifications voor Schedule-Generator Matthias Caenepeel Adam Cooman Alexander De Cock Zjef Van de Poel 23 februari 2011 Versie 1.1 1 Aanpassingsgeschiedenis. 23/2/2011 versie 0.1:

Nadere informatie

15 July 2014. Betaalopdrachten web applicatie gebruikers handleiding

15 July 2014. Betaalopdrachten web applicatie gebruikers handleiding Betaalopdrachten web applicatie gebruikers handleiding 1 Overzicht Steeds vaker komen we de term web applicatie tegen bij software ontwikkeling. Een web applicatie is een programma dat online op een webserver

Nadere informatie

Analyse probleem remote execution

Analyse probleem remote execution Analyse probleem remote execution Karel Nijs 2005-09-28 1.1 Beschrijving van het project De bedoeling van de GUI is een gemakkelijke uitvoering van verschillende checks van ICs. De GUI moet in Tcl/Tk ontworpen

Nadere informatie

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand:

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand: Remote administratie Als administrator hebt u verschillende mogelijkheden om een Linux systeem van op afstand te beheren. Populaire toepassingen zijn bijvoorbeeld Webmin en VNC. Het gebruik van deze twee

Nadere informatie

Werken op afstand via internet

Werken op afstand via internet HOOFDSTUK 12 Werken op afstand via internet In dit hoofdstuk wordt uitgelegd wat er nodig is om op afstand met de ROS artikel database te kunnen werken. Alle benodigde programma s kunnen worden gedownload

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 28, 2014 Inhoudsopgave 1 Achtergronden 1 2 Probleemstelling & Doelstelling 2 2.1 Leren Professioneel Functioneren..................

Nadere informatie

Software Design Document

Software Design Document Software Design Document Ruben Tytgat Software Engineering Groep 3 Table 1: Document history Versie Datum Auteur Beschrijving 2.0 20/05/2011 Ruben Tytgat Update naar huidige model 1.0 08/04/2011 Ruben

Nadere informatie

Installatiehandleiding Business Assistent

Installatiehandleiding Business Assistent Installatiehandleiding Business Assistent Wijzigingsgeschiedenis Versie Datum Omschrijving Status 0.1 25-09-2014 Eerste opzet van het installatie Concept document. 1.0 04-11-2014 Geen: Commercieel maken

Nadere informatie

F U N C T I O N E E L O N T W E R P V O O R F U L L H O U S E M O B I LE ( V I S I O N V E R S I E )

F U N C T I O N E E L O N T W E R P V O O R F U L L H O U S E M O B I LE ( V I S I O N V E R S I E ) F U N C T I O N E E L O N T W E R P V O O R F U L L H O U S E M O B I LE ( V I S I O N V E R S I E ) Datum: 29-09-2010 Auteur: Dairo Bosschart Versie: 1.0 Document: Functioneel_ontwerp (vision versie).docx

Nadere informatie

Gebruikers handleiding Brugge Printshop webshop

Gebruikers handleiding Brugge Printshop webshop Gebruikers handleiding Brugge Printshop webshop Gebruikers handleiding Brugge Printshop webshop... 1 Inleiding... 3 Inloggen... 4 Wachtwoord vergeten... 4 Gebruikersnaam vergeten... 5 Nog geen klant?...

Nadere informatie

Wij de werkzaamheden u het resultaat!

Wij de werkzaamheden u het resultaat! Entersite Design Wij de werkzaamheden u het resultaat! Entersite Design Bloemenlaan 21 2292 DA Wateringen Tel: 0174-220365 Emailadres: info@entersite.nl Internet: www.entersite.nl Inleiding Vele bedrijven

Nadere informatie

16. Web Station. In dit hoofdstuk komen de volgende onderwerpen aan bod:

16. Web Station. In dit hoofdstuk komen de volgende onderwerpen aan bod: 16. Web Station U kunt uw QNAP NAS gebruiken om een website te hosten. U kunt zelf een website bouwen in HTML of gebruik maken van één van de vele content management systemen die beschikbaar worden gesteld

Nadere informatie

Verslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers

Verslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers Verslag SE Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers In dit verslag zullen wij een beschrijving geven, over welke

Nadere informatie

Van Joomla 3.5 naar Wat is er veranderd?

Van Joomla 3.5 naar Wat is er veranderd? 4-10-2016 Thema-avond 4 oktober 2016 Van Joomla 3.5 naar 3.6.2. Wat is er veranderd? Van Joomla 3.5 naar 3.6.2. Wat is er veranderd? 21-Mrt-16 Joomla 3.5.0 34 Nieuwe mogelijkheden; de belangrijkste betreft

Nadere informatie

Draft. Gebruikershandleiding XMLCreator 2013NL

Draft. Gebruikershandleiding XMLCreator 2013NL Gebruikershandleiding XMLCreator 2013NL Wouter Verbruggen TimeTronics Lammerdries-Oost 23B B-2250 Olen Belgium Tel.: +32 14 23 19 11 Fax.: +32 14 23 20 24 09 september 2013 XMLCreator handleiding Wat is

Nadere informatie

9. MYSQL. Daarin zien we het administratie paneel van mysql.

9. MYSQL. Daarin zien we het administratie paneel van mysql. 9. MYSQL We kunnen ook in dit systeem gebruik maken van de gekende ACCESS databanken. Zolang het maar relationale databanjken zijn kunnen we er gebruik van maken. In PHP echter maakt men meestal gebruik

Nadere informatie

Easy Business Tools - Multi-user module

Easy Business Tools - Multi-user module Easy Business Tools Multi-user module Wat is de Multi-user module en wat kan ik er mee doen? De multi-user module is een gebruikerslicentie waardoor 5 computers in een netwerk kunnen samenwerken in Mijn

Nadere informatie

15 July 2014. Betaalopdrachten web applicatie beheerders handleiding

15 July 2014. Betaalopdrachten web applicatie beheerders handleiding Betaalopdrachten web applicatie beheerders handleiding 1 Overzicht Steeds vaker komen we de term web applicatie tegen bij software ontwikkeling. Een web applicatie is een programma dat online op een webserver

Nadere informatie

Welkom in de wondere wereld van websites met WordPress.

Welkom in de wondere wereld van websites met WordPress. Welkom in de wondere wereld van websites met WordPress. Alsjeblieft, dit kleine WordPress woordenboekje is voor jou. Want als je voor het eerst een website met WordPress gaat maken kom je misschien woorden

Nadere informatie

VEELGESTELDE VRAGEN

VEELGESTELDE VRAGEN Ter ondersteuning van onze bijeenkomsten * en om meer didactische mogelijkheden te bieden, maken wij gebruik van een online leeromgeving: www.mijnonlineleeromgeving.nl In dit document treft u meer informatie

Nadere informatie

Test Joomla op je PC 1

Test Joomla op je PC 1 1 Disclaimer Bij de samenstelling van dit ebook is de grootst mogelijke zorg besteed aan de juistheid en correctheid van de informatie die in dit ebook wordt verstrekt. De auteur van dit ebook kan op geen

Nadere informatie

Privacy verklaring Pagina 2 van 5

Privacy verklaring Pagina 2 van 5 Privacy verklaring Pagina 2 van 5 Wie zijn we? ZUMMITT is een besloten vennootschap, gevestigd Golfpark 95, 8241 AC Lelystad [KvK: 71973818] Website adres: www.zummitt.com, hierna de website. ZUMMITT neemt

Nadere informatie

GEBRUIKERSHANDLEIDING Content Management Systeem. Gebruikershandleiding RelaxWeb CMS

GEBRUIKERSHANDLEIDING Content Management Systeem. Gebruikershandleiding RelaxWeb CMS GEBRUIKERSHANDLEIDING Content Management Systeem 1 Gebruikershandleiding RelaxWeb CMS Gebruikershandleiding RelaxWeb CMS 2 Inhoud Inhoud 3 1. Inleiding 5 2. Inloggen in het CMS 6 3. Control panel 7 4.

Nadere informatie

De clientkant van webapplicaties in het universitaire onderwijs

De clientkant van webapplicaties in het universitaire onderwijs De clientkant van webapplicaties in het universitaire onderwijs ir. S. Stuurman universitair docent bij de faculteit Informatica van de Open Universiteit, Sylvia.Stuurman@ou.nl ir. H. Koppelman universitair

Nadere informatie

Informatie & Databases

Informatie & Databases Informatie Wat is informatie en waaruit het bestaat? Stel op een kaart staat het getal 37 geschreven. Wat kun je dan zeggen van het cijfer 37? Niets bijzonders, toch? Alleen dat het een getal is. Gaat

Nadere informatie

En hoe gaan ze dit allemaal terugvinden?

En hoe gaan ze dit allemaal terugvinden? En hoe gaan ze dit allemaal terugvinden? Taak 1.2.10 Thomas Muller Paul van der Linden MT1A Tutor: van Griensven Docent: van den Biggelaar Gemaakt door Thomas Muller en Paul van der Linden Pagina 1 van

Nadere informatie

In de meeste netwerkomgevingen staan de firewalls het browsen of surfen op internet toe.

In de meeste netwerkomgevingen staan de firewalls het browsen of surfen op internet toe. m:\helpdesk\vgmbox\documenten\handleiding - inzet binnen beveiligd netwerk (dmv proxyserver) - 20110112 - tbv pdf.doc Inzet van De VGM Box binnen een beveiligd netwerk Dit document beschrijft het functioneren

Nadere informatie

Handleiding Module Security (Log in)

Handleiding Module Security (Log in) Handleiding Module Security (Log in) WebGenerator ProSite CMS Versie 1.0 Inhoud Inhoud... 2 Inleiding... 3 Hoe werkt de beveiliging?... 3 Wat kan worden beveiligd?... 3 Hoe beveiligt u een webpagina?...

Nadere informatie

Handleiding Groenhuysenpas

Handleiding Groenhuysenpas Handleiding Groenhuysenpas Inhoudsopgave Manieren van Opwaarden 1 e keer... 2 Optie 1: Met Pinpas bij de kassa... 2 Optie 2: Via het internet... 2 Stap 1: De website... 2 Stap 2: Registratie... 3 Stap

Nadere informatie

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 11 maart 2009. Versie 1.1.0

Technisch ontwerp. Projectteam 6. Project Web Essentials 11 maart 2009. Versie 1.1.0 Projectteam 6 Faculteit Natuur en Techniek Hogeschool Utrecht Projectleider: Hans Allis, hans.allis@student.hu.nl Technisch ontwerp Project "Web Essentials" 11 maart 2009 Versie 1.1.0 Teamleden: Armin

Nadere informatie

Handleiding: Whitelabel Customersite

Handleiding: Whitelabel Customersite ARGEWEB B.V. Handleiding: Whitelabel Customersite Controlportal.nl Argeweb Support 8-1-2009 Handleiding voor het gebruik maken van de Whitelabel Customersite op controlportal.nl, door Resellers van Argeweb.

Nadere informatie

XAMPP Web Development omgeving opzetten onder Windows.

XAMPP Web Development omgeving opzetten onder Windows. XAMPP Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 1 Xampp downloaden... 2 2 Installatie Xampp 1.7.4 op externe harddisk... 3 3 XAMPP herconfiguren...

Nadere informatie

Om verder te gaan naar de persoonlijke omgeving wordt de aanmeld module beschikbaar gesteld.

Om verder te gaan naar de persoonlijke omgeving wordt de aanmeld module beschikbaar gesteld. Ontwerp Percussion Friends pagina Mijn lessen Inleiding. Vanuit de homepage van http://www.percussionfriends.com wordt in het menu de menu link item Mijn Lessen beschikbaar gesteld. Deze pagina voorziet

Nadere informatie

Scarabee Vereniging Brochure

Scarabee Vereniging Brochure Scarabee Vereniging Brochure februari 2015 Inleiding Scarabee Vereniging is het werkmiddel bij uitstek voor een vlotte ledenadministratie. Het is bedoeld voor alle soorten verenigingen die met leden werken.

Nadere informatie

Handleiding. Mei 2015. Versie 1.1. Handleiding NCDR Pacemaker & ICD Registratie - Mei 2015, versie 1.1.

Handleiding. Mei 2015. Versie 1.1. Handleiding NCDR Pacemaker & ICD Registratie - Mei 2015, versie 1.1. Handleiding Mei 2015 Versie 1.1. 1 Inhoudsopgave Inleiding... 3 1. Internet Browsers... 4 2. Inloggen... 4 2.1. Inlog in applicatie en Zorg TTP... 4 2.2. Token... 5 3. Home... 6 4. Patiënt... 7 4.1. Patient

Nadere informatie

Hieronder vind je de uitgebreide privacy code van InsightYou. InsightYou: InsightYou B.V., gevestigd te Rotterdam, KvK 54690692.

Hieronder vind je de uitgebreide privacy code van InsightYou. InsightYou: InsightYou B.V., gevestigd te Rotterdam, KvK 54690692. Privacy Code. Hieronder vind je de uitgebreide privacy code van InsightYou. 1. Definities (in alfabetische volgorde). Biologische gegevens: de gegevens, verzameld uit het door jou aangeleverde biologisch

Nadere informatie

Zope. Een technische introductie. Martijn Pieters Antraciet BV mj@antraciet.nl. V1.2-26 september 1999

Zope. Een technische introductie. Martijn Pieters Antraciet BV mj@antraciet.nl. V1.2-26 september 1999 Een technische introductie Zope Martijn Pieters Antraciet BV mj@antraciet.nl V1.2-26 september 1999 Kerkstraat 19 Postbus 256 1400 AG Bussum The Netherlands e info@antraciet.nl t +31 (0)35 625 4545 f +31

Nadere informatie

Handleiding portal Ons Middelbaar Onderwijs

Handleiding portal Ons Middelbaar Onderwijs Handleiding portal Ons Middelbaar Onderwijs De portal maakt het mogelijk om te allen tijde via internet in te kunnen loggen op het OMOnetwerk. Hierdoor is het mogelijk om de verschillende intranetsites

Nadere informatie