login  Naam:   Wachtwoord: 
Registreer je!
 Forum

gegevens in sessie

Offline Ultimatum - 13/09/2006 23:17
Avatar van UltimatumPHP expert Ik wil dus weer aan een login systeem beginnen maar nu vroeg ik mij af wat je het best in een sessie kan opslaan zodra iemand is ingelogd want als ik bijvoorbeeld id en/of gebruikersnaam doe en 1 van beide word gemanupileerd dan is de hacker dus admin. Heeft iemand een idee hoe ik het veilig kan oplossen of denk ik nu helemaal verkeerd?

6 antwoorden

Gesponsorde links
Offline cloudstrife - 13/09/2006 23:36
Avatar van cloudstrife PHP beginner globals uitschakelen, geen makkelijk te raden naamgevingen en ja ik hou altijd een aantal gegevens bij die vaak gebruikt worden zoals userid, naam, email, ip, ... enz.. Dat je sessies zouden gemanipuleerd worden ligt eerder aan de veiligheid van de server dan aan die van je scripts...
Offline MindPrison - 13/09/2006 23:39 (laatste wijziging 13/09/2006 23:40)
Avatar van MindPrison PHP gevorderde $_SESSION waardes kunnen alleen gemanipuleerd worden als er een lek in je website zit. Als dit niet is, zitten je gegevens dus veilig.

Dit slaag ik allemaal op in mijn sessies:
- id
- gebruikersnaam
- rang
- browser
- ip
- een boolean 'ingelogd', die gewoon zegt of de gebruiker al dan niet ingelogd is.

Volges mij is dit meer dan voldoende om je gebruikers een veilige login te bieden...
Offline Gerard - 14/09/2006 01:29
Avatar van Gerard Ouwe rakker Wanneer je gebruik maakt van variabelen in je $_SESSION waaraan rechten worden bepaald zou ik deze wel elke pagina updaten. Een goed voorbeeld hiervan is de 'rang' die MindPrison opslaat.

Voorbeeldje:
Je hebt een eigen community en je komt erachter dat één van jouw admins loopt te kloten. Je wilt hem een hak zetten voordat hij dat bij jou doet en je geeft hem gebruikersrechten op de pagina.

Omdat hij op dit moment nog ingelogd is en jij niet de rechten ververst bij het navigeren (dus alleen bij het inloggen zet je eenmalig de rechten, bijvoorbeeld) zal hij -zolang hij zijn browser open heeft- nogsteeds admin zijn. Hij kan dan alsnog gaan kloten zonder dat jij dit wil.

Gewoon even een stukje info dat ik mee wilde geven. Het kan altijd zo zijn dat je hier zelf al aan gedacht had. Als dat zo is, dan vergeet deze hele uitleg maar. ;)
Offline Ultimatum - 14/09/2006 07:35
Avatar van Ultimatum PHP expert Nee Proximus daar heb je een goed punt en had ik dus niet echt aangedacht. Verder sla ik zelf meestal alleen ip en id op omdat dan de rest van de gegevens wel uit de database met een functie kan toveren maar ik wilde dus even weten of het veilig is.

Trouwens ik wil toch dat mensen met dezelfde rank geen dingen met elkaar kunnen doen, dus admins kunnen geen admins wijzigen maar alleen ranks onder hun en dan 1 super admin (ik ) die kan alles wijzigen

maar toch bedankt voor de uitleg
Offline Thomas - 14/09/2006 12:07
Avatar van Thomas Moderator Je zou ook elke pagina-aanroep de rechten opnieuw kunnen ophalen, zodat iemand meteen gedegradeerd is als je rechten wijzigt in de database.
Offline Wijnand - 14/09/2006 12:12
Avatar van Wijnand Moderator Ikzelf heb meestal een ID en een "hash" (code van de gebruiker) in een sessie. Hiermee controleer ik elke keer of de gebruiker voorkomt met ID en hash en haal dan de rechten op. Dus als de rechten wijzigen, wordt zijn of haar rechten meteen aangepast.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.174s