Sessies en veiligheid
1 = members
2 = mod
3 = admin
ff als voorbeeld.
Is het genoeg om 1maal de login te controleren en de gegevens [user/pass/perms] op teslaan in sessies of is het verstandig elke keer op elke pagina te controleren of de user/pass/perms combinatie geldig is?
Dit alles ondersteund met MySQL, dus alle user gegevens staan in een tabel.
Gewijzigd op 26/01/2005 10:40:00 door Jasper v R
Je kan als exra controle nog wel de tijd in een sessie zetten en dan elke 10minuten controlerne of de gegevens kloppen, maar verder zijn sessies wel veilig :)
Het word all veiliger als de standaard map waar ze instaan word verandert, dit kan je zelf doen met php door een session function.
Of weet iemand een andere oplossing om deze login veilig(er) te maken?
Sessies an sich zijn veilig zat, als je een fatsoenlijke provider hebt. Dat sessies bestanden zijn zegt totaal niets over de veiligheid. Een fatsoenlijke provider heeft deze afdoende afgeschermd dat enkel php deze kan lezen. Bovendien is de informatie die te lezen valt uit sessies altijd nog beperkt, stop dus geen gevoelige informatie in sessies, kan een aabeveling zijn. Wachtworoden opslaan in sessies lijkt me geen goed idee (bovendien overbodig).
Dan controleer ik bij de login gewoon of de username/password combinatie bestaat in de database. Username en de permissies sla ik in sessie op zodat ik snel kan controleren of iemand toegang heeft tot een bepaald gebied en zoja ik meteen zijn username kan opnemen in de pagina.
Bedankt voor de reacties!
ik zou in de sessies alleen een id en tijd zetten, de rest kan uit de db komen :)
mee eens haal zulke info uit je db!
omdat sessies bestanden zijn op de server moet het weer worden gelezen.
Wat je dus kan doen in je url een soort sessie id.
en dan bij elke pagina $_GET['sessieid'] controleren als hij bestaat in de database en ip en cookie controleren.
en dan heb je user id enz
voorbeeld om een sessie id te maken.
$sess =md5(uniqid(rand(), true));
noem maar wat ;)