H10. Sessions introductie

Sessions: hoe inloggen werkt (H4)
Webdevelopment-III
Week 8 / les 2 / H4
1 / 23
volgende
Slide 1: Tekstslide
Applicatie- en mediaontwikkelaarMBOStudiejaar 1

In deze les zitten 23 slides, met interactieve quizzen, tekstslides en 2 videos.

Onderdelen in deze les

Sessions: hoe inloggen werkt (H4)
Webdevelopment-III
Week 8 / les 2 / H4

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Feedbackmoment
Eventueel bespreekt de docent nog enkele vragen uit de toets van vorige les.

Slide 2 - Tekstslide

Deze slide heeft geen instructies

Klaar met de toets?
Klik hier!

Slide 3 - Poll

Deze slide heeft geen instructies

Wat weten we nu?
  • Hoe maak je een CRUD-applicatie
  • Hoe voer je een query uit in PHP
  • Wat is de 'request / response cycle'
  • Bij iedere request denkt de backend dat je iemand anders bent, een request is 'stateless'.

Slide 4 - Tekstslide

Deze slide heeft geen instructies

Slide 5 - Tekstslide

Een illustratie van het dikgedrukte punt

Slide 6 - Tekstslide

Een illustratie van het dikgedrukte punt
Da's niet handig...
  • Je wil niet bij íedere klik je wachtwoord moeten invoeren.

  • Om gebruiker toch te onthouden, maak je in php een "session" aan die de gebruiker volgt.

  • Dit plaatst een cookie op de pc van je gebruiker.
(overigens; je plaatst een 'functionele' cookie, dus melding is niet verplicht)

Slide 7 - Tekstslide

Deze slide heeft geen instructies

0

Slide 8 - Video

Meer over de SESSION

"Met een session kun je de gebruiker volgen over verschillende pagina's"
A
Waar
B
Niet waar

Slide 9 - Quizvraag

Deze slide heeft geen instructies

Wat moet bovenaan de code,
om de session te gebruiken?
A
session_begin()
B
session_start()
C
session_use()
D
session_grab()

Slide 10 - Quizvraag

Deze slide heeft geen instructies

Met de code rechts beveilig
je een pagina. Wat hoort er
op de lege plek in de if?

Slide 11 - Open vraag

Deze slide heeft geen instructies

Opdracht: session uitproberen
  • Download uit Itslearning 'H10-session.zip' (lesmateriaal).
  • Pak de map uit naar je laragon/www.

  • Ga in je browser naar de map toe, kijk rond op de pagina's. Je ziet steeds rechtsboven de inhoud van de $_SESSION-variabele staan.

  • Zorg dat alle foutmeldingen verdwijnen, dus: stop een 'email' in de session, en op page3.php moet je de sessie nog starten.
timer
10:00

Slide 12 - Tekstslide

Deze slide heeft geen instructies

Hoe werkt inloggen?
Dus met de session kun je een gebruiker onthouden / volgen. Maar wat gebeurt er precies wanneer je op een "login"-knop drukt? Stappenplan:

Slide 13 - Tekstslide

Deze slide heeft geen instructies

Hoe werkt inloggen?
Dus met de session kun je een gebruiker onthouden / volgen. Maar wat gebeurt er precies wanneer je op een "login"-knop drukt? Stappenplan:

  1. Haal gegevens van gebruiker op, aan de hand van username
SELECT * FROM users WHERE username = :username

Dit kan natuurlijk ook met email.

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Hoe werkt inloggen?
Dus met de session kun je een gebruiker onthouden / volgen. Maar wat gebeurt er precies wanneer je op een "login"-knop drukt? Stappenplan:

  1. Haal gegevens van gebruiker op, aan de hand van email/username
  2. Check of je een resultaat krijgt (anders: account bestaat niet)
if($statement->rowCount() < 1)
{
     $error = "Geen account gevonden";
}

Slide 15 - Tekstslide

Als er geen account is met die email of username, dan meteen error: account bestaat niet
Hoe werkt inloggen?
Dus met de session kun je een gebruiker onthouden / volgen. Maar wat gebeurt er precies wanneer je op een "login"-knop drukt? Stappenplan:

  1. Haal gegevens van gebruiker op, aan de hand van email/username
  2. Check of je een resultaat krijgt (anders: account bestaat niet)
  3. Check of het ingevulde wachtwoord klopt met die uit de DB
if(!password_verify($_POST['pass'], $user['pass']))
{
     $error = "Wachtwoord klopt niet";
}

Slide 16 - Tekstslide

Het wachtwoord dat in formulier is ingevuld, moet overeenkomen met die uit database

Slide 17 - Video

Meer over deze stap
Hoe werkt inloggen?
Dus met de session kun je een gebruiker onthouden / volgen. Maar wat gebeurt er precies wanneer je op een "login"-knop drukt? Stappenplan:

  1. Haal gegevens van gebruiker op, aan de hand van email/username
  2. Check of je een resultaat krijgt (anders: account bestaat niet)
  3. Check of het ingevulde wachtwoord klopt met die uit de DB
  4. Als alles klopt: stop gebruikersgegevens in de session
$_SESSION['user_id'] = $user['id'];
$_SESSION['user_name'] = $user['name'];

Slide 18 - Tekstslide

Als de user bestaat en het wachtwoord klopt, sla dan gegevens op in de $_SESSION-variabele
Zet op de juiste volgorde:
1
2
3
4
Haal gegevens gebruiker op
Kijk of je >0 resultaten hebt
Check of wachtwoord klopt
Stop gegevens in SESSION

Slide 19 - Sleepvraag

Deze slide heeft geen instructies

Met welke functie check je het wachtwoord in PHP?
A
password_hash()
B
password_verify()
C
password_check()
D
password()

Slide 20 - Quizvraag

Deze slide heeft geen instructies

Als je in de database gaat kijken, hoe zien de wachtwoorden er dan uit?
A
$2y$10$oDKiwO9BkPg
B
Welkom123
C
(die zie je helemaal niet)

Slide 21 - Quizvraag

Deze slide heeft geen instructies

Een versleuteld wachtwoord noem je...
(voorbeeld: $2y$10$oDKiwO9BkPg)
A
Wachtwoord
B
Secret
C
Hash
D
Hasj

Slide 22 - Quizvraag

Deze slide heeft geen instructies

Opdracht
We hebben nu H10, paragraaf 1 t/m 6 gedaan.
Maak H10.7 opdracht: secret animal.

Slide 23 - Tekstslide

Het wachtwoord dat in formulier is ingevuld, moet overeenkomen met die uit database