[php] loginsysteem op database niveau

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Je ziet tegenwoordig talloze loginscript (zoals www.phpsecurepages.com) die allemaal gebaseerd zijn op sessions of cookies.

Maar wat is er nu tegen om sessions / cookies te laten vallen en het puur database georienteerd te houden? D.m.v. een statusveld en een timestamp of iets dergelijks kan een login toch ook goed worden bijgehouden?

Bovendien ben je dan ook niet meer afhankelijk van de browserinstellingen van de gebruiker.

Wat zijn volgens jullie nu de voor- en nadelen van de 3 bovengenoemde methodes?

Dus: cookies , sessions of database georienteerd.

Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
Database georienteerd, leuk, maar hoe wil je de gegevens naar de juiste gebruikers sturen? Daar heb je toch echt een cookie voor (of je moet het sessie ID in de URL meegeven) nodig (of je dat dan dmv sessions regelt of het zelf voor je rekening neemt moet je zelf weten). De gegevens opslaan in de database is natuurlijk ook mogenlijk door middel van een custom session manager.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 13:32

Creepy

Tactical Espionage Splatterer

Puur database georienteerd, ZONDER sessions of cookies? Hoe wil je dat gaan doen? Je kan namelijk met geen mogelijkheid dan een gebruiker uniek identificeren.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:47
Het grootste nadeel is denk ik de veiligheid. Hoe wil je weten wie wie is? Op basis van IP adres? Leuk, bij een NAT-situatie :{.

Acties:
  • 0 Henk 'm!

Verwijderd

Stel je gebruiker wisselt van de ene pagina naar de andere. Zoals de mensen hierboven al zeggen, moet er wel een manier zijn om na te gaan welke gebruiker die volgende pagina wil zien en welke informatie dan zichtbaar moet zijn. Er moet dus wel gebruik gemaakt worden van ofwel sessions ofwel cookies. Het voordeel van sessions is dat ze volledig op de server worden bijgehouden, en dat er geen limiet is hoeveelheid variabelen. In een cookie kan slechts 1 variabele, en er is een limiet van 20 cookies per website. Daar kom je dus al snel mee te kort.

google eens voor de gein, succes...!

Acties:
  • 0 Henk 'm!

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 15-05 16:29

Macros

I'm watching...

Dat database georienteerd bestaat al, en dan zijn het gewoon sessies die je in je database bewaard in plaats van op je filesystem.

"Beauty is the ultimate defence against complexity." David Gelernter


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
Macros schreef op 05 juni 2004 @ 00:03:
Dat database georienteerd bestaat al, en dan zijn het gewoon sessies die je in je database bewaard in plaats van op je filesystem.
Dat is niet zo moeilijk, daar heb je de session_set_save_handler() functie voor ;)

Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

Sessies kun je ook prima gebruiken zonder cookies, php heeft er zelfs een ingebouwde afhandeling voor. Je moet dan wel bij elke URL het sessie id meegeven aan de volgende pagina, dat kan een nadeel zijn, maar het werkt prima.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
Gerco schreef op 05 juni 2004 @ 00:13:
Sessies kun je ook prima gebruiken zonder cookies, php heeft er zelfs een ingebouwde afhandeling voor. Je moet dan wel bij elke URL het sessie id meegeven aan de volgende pagina, dat kan een nadeel zijn, maar het werkt prima.
Dat maakt het kapen van een sessie wel heel erg makkelijk, als je alleen een sessie-id meegeeft via de URL, je hoeft alleen een link te krijgen en je bent binnen. Natuurlijk is dit veilig te krijgen (ip gebonde sessies, the works) het kost alleen wat meer moeite. (Ik zeg overigens niet dat de php sessies standaard al veilig zijn ;))

Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

PrisonerOfPain schreef op 05 juni 2004 @ 00:17:
Dat maakt het kapen van een sessie wel heel erg makkelijk, als je alleen een sessie-id meegeeft via de URL, je hoeft alleen een link te krijgen en je bent binnen.
Dat klopt, ik zei ook niet dat je alleen een SID moest meegeven of controleren. Als het veilig moet, is er nog een heleboel aan te verbeteren, maar daar ging het niet over, zonder cookies werkt dus wel gewoon, ook zonder trucks als ips onthouden.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 15-05 16:29

Macros

I'm watching...

Alsof cookies stelen zo moeilijk is...
Standaard sessies in PHP zijn al gebonden aan ip's.

"Beauty is the ultimate defence against complexity." David Gelernter

Pagina: 1