Trin 1: Databasen

For det første skal dit site have adgang til databasen. Min nieces hjemmeside er hostet af b-one, som stiller MySQL (sammen med et brugermodul der hedder PhpMyAdmin) til rådighed, og selve adgangen hertil voldte mig en del problemer. Problemer, fordi jeg ikke forstod hvordan PhpMyAdmin fungerer. Jeg har derfor lavet en brugervejledning til anvendelse af PhpMyAdmin, som giver adgang til at oprette databasetabeller, poster og de nødvendige kald til databasen.
Brugervejledningen er endnu ikke tilgængelig!

Login på min nieces side er ikke lavet dynamisk. Vi er en lille familie og vi kan fint klare os med kun et kodeord til deling. Eksemplet kan derfor sagtens udbygges til, at omfatte brugerens mulighed for selv at ændre kodeord.

Selve databasen består kun af en tabel. Meget misvisende har jeg givet den navnet:

brugere


Tabellen har følgende felter:

brugerID, brugernavn, kodeord


"kodeord" er sat til at være md5-krypteret. Ved brug af PhpMyAdmin sker dette blot ved at udvælge MD5 på en dropdownliste.
jpg-billede af phpMyAdmin-del

Men dette gennemgås mere detaljeret i den kommende vejledning om anvendelse af PhpMyAdmin.

I praksis betyder dette, at da feltet kodeord blev lavet i databasen var det nødvendigt at sige, at dette kodeord kunne bestå af 100 anslag.

jpg-billede af kodeordsindsættelse i databasen

I virkeligheden bør et kodeord begrænses. En passende målestok er nok at sige, at kodeordet skal være tilpas langt til at en lusket person ikke kan aflæse det henover skulderen på brugeren, og tilpas kort til at brugeren kan huske det.

Når selve feltet i databasen bliver sat til at 100 anslag er acceptabelt er dette i virkeligheden fordi at selve krypteringen kræver flere anslag.

Hvis alle detaljer omkring et krypteret login skulle gennemgås her på siden, ville jeg aldrig blive færdig med denne vejledning. Derfor vil jeg ikke her komme ind på hvordan md5-kryptering fungerer.

Jeg vil blot fortælle, at et kodeord på 9 anslag bliver væsentligt større (i antallet af anslag) efter selve krypteringen:

jpg-billede af krypteret kodeord i databasen

Hvis kodeords-feltet i databasen bliver sat op til at acceptere kodeord på 9 anslag, og kodeordet er "efteråret". Så vil "efteråret" se væsentlig anderledes ud efter krypteringen, og fylde mere end 9 anslag.
Databasen er ligeglad med om det er et kodeord eller ej.
Den vil blot acceptere de første 9 anslag, så hele resultatet af krypteringen ikke kommer med i valideringen. Hvilket vil betyde, at der altid nægtes adgang ved brug af det kodeord (uanset om det er indtastet korrekt).

Valid CSS!

Valid XHTML 1.0!