Jan Jaap Siewers | Nov 10, 2022

Database login

Voorkennis

Dit ga je leren

php

Userstory

Maak een login-systeem waarbij verschillende accounts en wachtwoorden die in een database-tabel staan kunnen inloggen. Het wachtwoord is gehashed (niet leesbaar opgeslagen) in de database. Daarnaast is er gebruik gemaakt van sessies en wachtwoorden zijn gehashed.

  • UserSory: Als bezoeker wil ik kunnen inloggen in de applicatie zodat ik toegang krijg tot een pagina met de tekst "Hey, welkom in onze app".

Activity diagram

schema loginform

Stappenplan

  • Een login-systeem met een formulier waar je een naam en een wachtwoord in kunt vullen.
  • De database bevat een tabel users met daarin meerdere accounts van gebruikers
  • Nadat de gegevens uit het formulier naar de database worden verstuurd, wordt met php gecontroleerd of de gegevens valide zijn.
  • In de database wordt gecontroleerd of er exact één record is gevonden waarbij de username en het ge-hashde wachtwoord overeenkomen
  • Meerdere gebruikers kunnen toegang krijgen tot de welkomstpagina met de tekst "Hey, welkom in onze app".
  • Bij verkeerd inloggen krijg je de waarschuwing "Je hebt geen toegang met deze naam- en wachtwoord-combinatie".

Op te leveren

  • Een website met minimaal 3 content-pagina's.
    • Een inlog-formulier
    • Een melding voor een juist ingelogde gebruiker
    • Een melding voor een niet juist ingelogde gebruiker
  • Er wordt een redirect uitgeveord bij het benaderen van content-pages zonder geldige inlog-sessie
  • Wachtwoorden zijn correct beveiligd in de database
  • Een ingelogde gebruiker moet ook weer kunnen uitloggen!

Evaluatie

Vraag om een code-review om feedback op jouw aanpak en tips voor best-practices te krijgen.