login  Naam:   Wachtwoord: 
Registreer je!
 Forum

login controle (Opgelost)

Offline W0etah - 30/01/2009 23:18
Avatar van W0etahPHP beginner Ik ben bezig met een login formulier, nu vraag ik mij af of de volgende code voldoende veilig is.

Wanneer je succesvol bent ingelogd worden er 2 sessies aangemaakt.
1 met je username en 1 met een unieke key die opgeslagen word in de database.

Daarna gebruik ik de volgende code om te controleren of iemand ingelogd is:

Plaatscode: 83524

Nu is mijn vraag, is dit voldoende veilig?

8 antwoorden

Gesponsorde links
Offline cyberninjah - 30/01/2009 23:21
Avatar van cyberninjah Lid Hm misschien een ip controle ?

Het ip opslaan in de database bij het inloggen en bij controle controleren of client ip zelfde is met de ip die de server op dat moment gebruikt ofzo of zet het ip in een sessie of op de server zelf in een map met een bepaald sessie id als naam.
Offline W0etah - 30/01/2009 23:25
Avatar van W0etah PHP beginner De meeste ip's zijn tegenwoordig dynamisch, dus ik zie daar het nut niet van in.

Misschien dat je maar op 1 computer kan inloggen, maar dat kan met zo'n unieke key ook, omdat die toch telkens gewijzigd word bij het inloggen
Offline Tuinstoel - 30/01/2009 23:30
Avatar van Tuinstoel PHP expert Dit is overbodig volgensmij? Je hoeft toch alleen maar te controleren of de sessies uberhaupt bestaan? Je bent toch de enige user @ je server die sessies aan kan maken?

Een eenvoudige check van
  1. <?php if(isset($_SESSION['a'])) { } ?>
moet volstaan lijkt me.
Offline vinTage - 30/01/2009 23:31 (laatste wijziging 30/01/2009 23:31)
Avatar van vinTage Nieuw lid Wat ik denk:
Dat die secretkey "overbodig" is, want STEL dat je al iemand zn username en wachtwoord weet, dan kan je inloggen en krijg je (neem ik aan) gewoon een nieuwe key.
Daarnaast, stel dat je iemand zn usernaam sessie KAN kapen (dmv slecht beveiligde output oid..), dan is het een kleine moeite om ook die secretkey mee te snaaien.

Ik vind die secretkey dus overbodig 

edit: ah tuinstoeleke was me voor 
Offline W0etah - 30/01/2009 23:35 (laatste wijziging 30/01/2009 23:37)
Avatar van W0etah PHP beginner Dus eigenlijk gewoon een sessie voor de username is nodig?

dit zou dus al voldoende zijn
  1. <?php
  2. function checkLogin() {
  3. if(isset($_SESSION['username'])) {
  4. return true;
  5. }
  6. return false;
  7. }
  8. ?>


maar dan zou je toch eventueel vanaf 2 computers tegelijk kunnen inloggen?
Offline vinTage - 30/01/2009 23:37 (laatste wijziging 30/01/2009 23:39)
Avatar van vinTage Nieuw lid jup (ervanuitgaande dat een user wel inlogged met usernaam en wachtwoord )

edit: Wat maakt het uit als je inlogged met 2 computers? Dat zou btw ook zo zijn met een extra secretkey session hoor 
Offline W0etah - 30/01/2009 23:42
Avatar van W0etah PHP beginner Jah, uiteindelijk zou het niks uitmaken 

Maar met zo'n secretKey is dat niet, want als een andere persoon dan inlogged veranderd de key in de database waardoor de sessie op computer a niet meer gelijk is met de key van de database.

Maar bedankt voor de info, ik hou het dus op gewoon controleren of de sessie bestaat
Offline vinTage - 30/01/2009 23:44
Avatar van vinTage Nieuw lid
W0etah schreef:
Maar met zo'n secretKey is dat niet, want als een andere persoon dan inlogged veranderd de key in de database waardoor de sessie op computer a niet meer gelijk is met de key van de database.


@ één pc, dan heb je gelijk 

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2026 Sitemasters.be - Regels - Laadtijd: 0.188s