login  Naam:   Wachtwoord: 
Registreer je!
 Forum

session veilig?

Offline Bruud - 19/07/2007 19:30
Avatar van BruudNieuw lid ik gebruik om te kijken of de user is ingelogt: isset($_session['user'])
is dit veilig?
Mvgr Ruud

11 antwoorden

Gesponsorde links
Offline Rens - 19/07/2007 19:50
Avatar van Rens Gouden medaille

Crew algemeen
Dit is alleen om te kijken of een sessie geset is.
Als het een userID is (en dus een getal) zou je beter met PHP.net: ctype_digit ook nog checken of het ook écht een getal is.
Offline Bruud - 19/07/2007 19:58
Avatar van Bruud Nieuw lid dank je maar ik hoef dus niet iets met ips te doen?
Offline Abbas - 19/07/2007 20:01
Avatar van Abbas Gouden medaille

Crew .NET
Je kijkt nu of hij geset is, maar je moet dan ook controleren of hij niet leeg is. En als hij niet leeg is moet je zoals Rens zei, als het bvb. een getal is, kijken of het écht een getal is.
Offline Bruud - 19/07/2007 20:54
Avatar van Bruud Nieuw lid kan dat ook gewoon met !empty()?
Offline marten - 19/07/2007 20:58 (laatste wijziging 19/07/2007 21:01)
Avatar van marten Beheerder Beter is het om je sessie een waarde te geven. Dan weet je precies wat je wilt weten. Ingelogd = 1 , niet ingelogd is 0. Daar kun je dan beter op controleren of het echt die waarde is. En om dan fouten te voorkomen doe je isset() dus bv

  1. <?php
  2. if(isset($_SESSION['ingelogd']) && ctype_digit($_SESSION['ingelogd'])) {
  3. if($_SESSION['ingelogd'] == 1) {
  4. //ingelogd
  5. } else {
  6. // niet ingelogd
  7. } else {
  8. //niet ingelogd en een potentiele hackpoging
  9. }
  10. ?>


De isset() is om te voorkomen wanneer de sessie niet gezet is je een undefined index ingelogd krijgt.
Offline Bruud - 19/07/2007 21:02
Avatar van Bruud Nieuw lid maar hoe komt $session['ingelogt'] weer op nul te staan dan?
en het is dan toch alsnog makkelijk om dat te omzeilen?
Offline marten - 19/07/2007 21:04
Avatar van marten Beheerder
  1. <?php $_SESSION['ingelogd'] = 0; ?>

Basis php

en is bijna niet te omzeilen. Een 100% waterdicht systeem zal je nooit kunnen maken. En bij de 80% van de sites voldoet deze manier.

Wil je echt veilig dan zal je een eDentifier moeten inbouwen zoals internetbankieren
Offline Wouser - 19/07/2007 22:45
Avatar van Wouser PHP interesse Je kan het wel nog wat veiliger maken door gewoon wanneer iemand inlogd IP op te slaan. en wanneer gebruiker vervolgens naar andere pagina gaat binnen de website, en dus op een link heeft gedrukt, de IP te vergelijken met het IP van de vorige pagina. Wanneer deze gelijk is is het OK anders NIET OK en dus uitlogge
Offline marten - 19/07/2007 22:52
Avatar van marten Beheerder IP adressen kan je simuleren. Dus dat is makkelijk te omzeilen.
Offline Bruud - 19/07/2007 23:32
Avatar van Bruud Nieuw lid
marten schreef:
[..code..]
Basis php

en is bijna niet te omzeilen. Een 100% waterdicht systeem zal je nooit kunnen maken. En bij de 80% van de sites voldoet deze manier.

Wil je echt veilig dan zal je een eDentifier moeten inbouwen zoals internetbankieren

ik snap wel hoe dat moet maar waar neer, alleen als de user uitlogd maar hoe weet ik dat?
Offline Thomas - 20/07/2007 09:17 (laatste wijziging 20/07/2007 09:18)
Avatar van Thomas Moderator Sessies zijn zo veilig als de code die er voor zorgt dat de sessie wordt voorzien van waarden. Als je controle bij inloggen "lek" is, dan is de informatie die in je sessie staat ook niet betrouwbaar, in die zin dat iemand zich mogelijkerwijs als iemand anders voor kan doen.

Sessies zijn van zichzelf niet veilig of onveilig, alleen de manier waarmee je er mee omspringt is veilig of onveilig.

Enige grip op wat sessies zijn en hoe je er mee werkt helpt natuurlijk bij het veilig omgaan met sessies. Als je je daar eerst in verdiept dan roept dat waarschijnlijk nieuwe inzichten (en vragen) op.

Op deze site staat een tutorial, en er zijn ongetwijfeld een heleboel forumberichten en scripts die (mede) over sessies gaan.

Als je er mee wilt werken, zul je je enigszins in de materie moeten verdiepen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.283s