Graag zoek ik advies over SESSIONS in PHP

wat ik wil is een login systeem en een aantal pagina's beveiligen met SESSIONS .

Wat ik nu doe is als een gebruiker inlogt set ik zijn ID uit mijn database in een SESSION['user'].

wat ik dan doe bij de beveiligde pagina's is controleren of deze SESSION ISSET en wat de waarde dan is zodat ik weet over welke gebruiker het gaat. als deze waarde niet klopt redirect ik deze naar de login pagin

Nu vraag ik me alleen af hoe veilig is dit en wat moet ik doen om dit eventueel veiliger te maken ?

als ik google op SESSIONS krijg ik ik veel forums en teksten van +/- 6 a 7 jaar geleden maar denk dat er inmiddels een hoop veranderd is. Of zijn SESSIONS achterhaald ?

hoop dat iemand mij wat tips kan geven

Alvast bedankt
Sessions zijn zeker niet achterhaald, zolang je maar de $_SESSION-variabele (eigenlijk een 'global' genoemd) maar gebruikt.

session_register(), session_is_registered() is daarentegen wél oud.
Oke bedankt voor je reactie,

Maar zoals ik nu doe is dit dan veilig en de juiste manier van gebruik ?

een klein voorbeeldje
<?php
if(isset($_SESSION['group'])){
echo '<meta http-equiv="refresh" content="0; url=../index"> ';
}
?>
op de volgende pagina controleer ik dan de waarde
Sessies zijn veilig te gebruiken. Zolang je maar de juiste dingen opslaat.
Wachtwoorden of andere beveiligde data zou ik er NIET in opslaan uit veiligheidsoverwegingen.
Ik zou echo '<meta http-equiv="refresh" content="0; url=../index"> '; vervangen voor:
<?php
header('Location: ../index');
exit;
?>
Stap 1.2 maakt een nieuwe DATABASE-gebruiker met beperkte rechten aan. Dit zal bij veel shared host providers -denk ik- niet werken omdat dit dan via de adminpanel dient te gebeuren. Verder toont het artikel wel aan hoe je dus sessies kunt opslaan in de database. Kan handig zijn als je wilt bijhouden wie er online is.

Wat ik jammer vind is dat allerlei eigen gekozen sleutels hardcoded in de class zijn opgenomen wat bad practice is maar dit kun je natuurlijk wijzigen en ze in de config aanmaken.

[size=xsmall]Toevoeging op 30/12/2014 18:41:05:[/size]

Mits je voldoende rechten hebt kun je stap 1.1 t/m 1.3 zo vanuit phpMyAdmin onder de tab SQL verrichten. Alleen moet je na stap 1 wel even de nieuwe database selecteren.

Reageren