Login
We gaan een veilige en goede login maken
We kennen drie delen:
- Login form
- De control page (php)
- De database connectie waarmee het user_id en password worden gecontroleerd.
Maak de files
login.html
login.php
db.php
We beginnen met de db.php. We maken nog geen connectie met de databse maar defeiniëren voorlopig een assiociative array met user-id en met het niet-encrypted wachtwoord. We gaan dit later uiteraard aanpassen, maar om één en ander te testen is dit nu beter en sneller.
// vul het array aan met je eigen login
$logins = [ 'Damon' => 'geheim12', 'Su-Yen' => 'secret123', 'Bob' => 'grotegroep3',
'Omar' => 'Laptop12', 'JariF' => 'verweg-42' ];
Maak nu een object login met de private property username en één public functie:
Login->authenticate($username, $password);
Vraag 1: waarom staat Login hierboven met een hoofdletter?
Deze functie (of eigenlijk method) returned Trueof False; true als de combinatie username en password klopt en anders False.
Maak nu het form en post de login en userid naar login.php. Check eerst of de variabelen uit het form bekend zijn in login.php door deze af te drukken. Als dat het geval is, check dan of de login en userid combinatie klopt.
Nu is het zaak dat de browser onthoud dat de gebruiker is aangelogd. Hoe doen we dat ook alweer?
Inderdaad met een cookie.
setcookie('login', 'True', 1200);
Vraag 2: waar staat de 1200 voor?
Vraag 2: werkt dit?
Vraag 3: waarom is dit niet veilig?