Gebruik maken van cookies bij een inlog-systeem

Info 
Door: Itsme-HcK Moeilijkheidsgraad: 3/3
Views:15.811Reacties: 6(Bekijken)
  Log in om zelf te reageren
 Waardering:5.8/10 (4 stemmen)



Ik heb gemerkt dat nogal veel inlog-systemen onveilig zijn, dus schrijf ik er een tut over :)

Wat moet je absoluut niet doen?


  • Het wachtwoord in een cookie zetten
  • Een cookie te lang laten staan


Hoe dan wel?


Je kunt bijv. een hash-code genereren en die in een cookie zetten, samen met het id van de gebruiker.
Vergeet dan natuurlijk niet die hash op te slaan in een db, anders heeft het natuurlijk geen zin ;)
#Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// pas deze variabeles aan
$hash_aantal = 10; // het aantal tekens dat in de hash moet
$user_id = $sql_result; // duidelijk?
$hash = "";
// letters en cijfers die in de hash mogen
$array = array ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "v", "x", "y", "z", 1, 2, 3, 4, 5, 6, 7, 8, 9, 0);
// het echte werk; de hash genereren
for ($i = 0; $i < $hash_aantal; $i++){
    
$hash .= $array[rand(0, 33)];
}
// cookie's aanmaken, hier kies ik ervoor ze een jaar lang te laten staan
setcookie("userid",$user_id,time()+31536000);
setcookie("hash",$hash,time()+31536000);
?>

LET OP: ik geef je geen garantie dat deze code werkt :)
[size=9] Vrij naar: PHPExperience [/size]

6 reacties
Itsme-HcK Geplaatst op 27-10-2007 om 01:04
Avatar van Itsme-HcK

Regular
Je moet dus juist NIET het wachtwoord in een cookie zetten.
Lees de tut voortaan eerst even. ;)
almari Geplaatst op 21-10-2007 om 22:54
 

Regular
Dit is volgens mij iets wat ik zoek.
Ik moet een website beheren waar je alleen maar inkomt met een gebruikersnaam en een wachtwoord.
Die gerbuikersnaam en wachtwoord mag niemand weten.
Nu moeten mensen wel kunnen inloggen op die website, dus dacht ik, ik maak een website met een wachtwoordbeveiliging en die laat ik doorsturen naar die andere beveiligde website. Kan ik dan bijvoorbeeld het wachtwoord wat men NIET mag weten in een cookie zetten (hash) en zo ja, hoe werkt dit dan precies.
Alvast bedankt een ieder.
Itsme-HcK Geplaatst op 13-04-2007 om 21:59
Avatar van Itsme-HcK

Regular
Klopt, 60*60*24*365. Een jaar dus. ;)
takje Geplaatst op 09-04-2007 om 20:27
 

Regular
+31536000: is dat het aantal seconden dat de cookie blijft of hoe zit dat?
bass Geplaatst op 26-11-2006 om 13:40
 

Regular
ik begrijp dit om je eerlijk te zijn niet
hoezo sql result
wat is dat for
?????????

Pagina 1 2 

Om te reageren moet je ingelogd zijn.
Nog niet geregistreerd? Doe dat dan nu!


Terug naar gewone pagina

Websitemaken wordt gehost door Nucleus.be, uw Hosting Solution Builder