Versio

Sessie login

Overzicht Reageren

Ocirina Ocirina

Ocirina Ocirina

22/03/2011 17:23:47
Quote Anchor link
Goede avond,
Ik gebruik dit om te controleren of iemand is ingelogd, dit klopt allemaal.
Maar, zodra iemand opnieuw inlogt krijg je altijd de zelfde "unieke" string per gebruiker.
Is dit veilig of moet ik er nog iets anders instoppen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$ses_c
= md5(salt(sha1(($_SESSION['naam'])." ".($_SESSION['status'])." ".($_SESSION['email']))));

$sql = mysql_query("SELECT unaam FROM users WHERE unaam = '".$_SESSION['naam']."' AND email = '".$_SESSION['email']."' AND ses_c = '".$ses_c."'");
?>
 
PHP hulp

PHP hulp

25/05/2012 15:35:26
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Yea Rupie

Yea Rupie

22/03/2011 17:28:02
Quote Anchor link
Waar is ses_c goed voor, waarom al die functies eromheen.?
 
Sander de Vos

Sander de Vos

22/03/2011 17:35:19
Quote Anchor link
Als je niet dezelfde string terug krijgt, hoe wil jij dan gaan controleren of het wachtwoord goed of fout is?
 
Ocirina Ocirina

Ocirina Ocirina

22/03/2011 17:35:55
Quote Anchor link
Nou, ik sla iets op in de db (ses_c).
Die ses_c krijg ik via die hash.
De hash maakt hij van naam status en email. --> ses_c..
Nu kijkt die of al die 3 gegevens kloppen dan hasht die hem en controleert dat weer?

Toevoeging op 22/03/2011 17:36:43:

Hoe bedoel je sander?

Toevoeging op 22/03/2011 17:38:51:

BTW dit is als controle.php de login stap is al gemaakt.
 
Yea Rupie

Yea Rupie

22/03/2011 17:39:05
Quote Anchor link
Ik zie er het nut niet echt van in, dan kun je beter de hash in je sessie opslaan en daarna de gegevens uit de db halen?
 
Sander de Vos

Sander de Vos

22/03/2011 17:40:55
Quote Anchor link
Ocirina - op 22/03/2011 17:35:55:
Nou, ik sla iets op in de db (ses_c).
Die ses_c krijg ik via die hash.
De hash maakt hij van naam status en email. --> ses_c..
Nu kijkt die of al die 3 gegevens kloppen dan hasht die hem en controleert dat weer?

Toevoeging op 22/03/2011 17:36:43:

Hoe bedoel je sander?

Toevoeging op 22/03/2011 17:38:51:

BTW dit is als controle.php de login stap is al gemaakt.


Nou, je slaat je wachtwoord waarschijnlijk bij het registreren op in je database.
Laten we even zeggen dat je wachtwoord de volgende string is: 1299asjI8.
Als je iedere keer bij het inloggen een andere string genereert (uniek dus), kan dat nooit overeen komen met 1299asjI8, en word je niet ingelogd.
 
Ocirina Ocirina

Ocirina Ocirina

22/03/2011 17:43:12
Quote Anchor link
Nee dat snap ik, maar kijk: Iemand logt in, alles klopt.
Dan neem je de user status en email (mischien datum) dan hash --> naar de db.
Nja.. ik weet niet hoe ik dit eigenlijk moet uitleggen. Hoe controleren jullie dit?
 
Sander de Vos

Sander de Vos

22/03/2011 17:48:07
Quote Anchor link
Als ik een login script maak creer ik maar 1 sessie, namelijk de gebruikersnaam. Ik controleer de gebruikersnaam en wachtwoord, zet gebruiker op online in de database en maak de sessie aan.

Op iedere pagina controleer je dan of de sessie bestaat, en of de gebruiker online is. Als dat zo is update je de tijd bij online in je database en laat je de bezoeker lekker zijn gang gaan. Als de tijd in de database bij de gebruiker meer dan 5 minuten verschilt met de tijd nu, verwijder je de sessie en laat je hem opnieuw inloggen.

Jou methode is dus nogal omslachtig, en onnodig.
Gewijzigd op 22/03/2011 17:50:13 door Sander de Vos
 
Ocirina Ocirina

Ocirina Ocirina

22/03/2011 18:40:48
Quote Anchor link
Nja, je kunt dus de sessie niet hacken?
Want, ik doe iedere maal een controle, maar als dit niet nodig is doe ik:
$_session['status'] == 'admin' $_session['naam'] == 'ocirina'
 
Roel van de Water
Moderator

Roel van de Water

22/03/2011 18:48:10
Quote Anchor link
Dat zou een mooie boel zijn als je sessies kon veranderen.
Dat kan dus niet nee.
 
PHP Jasper

PHP Jasper

22/03/2011 18:54:55
Quote Anchor link
Roel van de Water op 22/03/2011 18:48:10:
Dat zou een mooie boel zijn als je sessies kon veranderen.
Dat kan dus niet nee.


Ben je 100% zeker? Ik heb toch links en rechts gehoord dat dat zou kunnen..
 
Ocirina Ocirina

Ocirina Ocirina

22/03/2011 18:55:43
Quote Anchor link
Ja, inderdaad door een of andere master hacker?:P
Mischien ben ik dan wel dom?:p ik snap wel dat je 1.2.3. niet een sessie kunt editen.

Toevoeging op 22/03/2011 18:57:20:

Maar onmogelijk?
 
Sander de Vos

Sander de Vos

22/03/2011 19:46:49
Quote Anchor link
Ocirina - op 22/03/2011 18:55:43:
Ja, inderdaad door een of andere master hacker?:P
Mischien ben ik dan wel dom?:p ik snap wel dat je 1.2.3. niet een sessie kunt editen.

Toevoeging op 22/03/2011 18:57:20:

Maar onmogelijk?


Het is wél mogelijk, maar erg moeilijk. Heb ik ooit in een artikel gelezen, maar weet allang niet meer waar.

Trouwens, status zou ik alsnog niet in een sessie zetten, maar in de database.
 
Mark de Wit

Mark de Wit

22/03/2011 19:52:09
Quote Anchor link
Ik gebruik zelf ook altijd zoiets. Ik heb een tabel voor gebruikers (gebruikersnaam en wachtwoord) en een tabel die ik 'sessies_inloggen' noem. Na (tijdens) het inloggen plaats ik in deze 'sessies_inloggen' een rij met gebruikersnaam en IP. Vervolgens kijk ik op elke pagina die wordt geopend na of het een geldige sessie is bij dit IP via de database.

Ik heb namelijk ook gehoord dat je met een programma sessies van andere bezoekers kan overnemen of zo iets. Het kan een fabeltje zijn, maar gewoon een extra veiligheidje.
 
Sander de Vos

Sander de Vos

22/03/2011 20:12:03
Quote Anchor link
Mark de Wit op 22/03/2011 19:52:09:
Ik gebruik zelf ook altijd zoiets. Ik heb een tabel voor gebruikers (gebruikersnaam en wachtwoord) en een tabel die ik 'sessies_inloggen' noem. Na (tijdens) het inloggen plaats ik in deze 'sessies_inloggen' een rij met gebruikersnaam en IP. Vervolgens kijk ik op elke pagina die wordt geopend na of het een geldige sessie is bij dit IP via de database.

Ik heb namelijk ook gehoord dat je met een programma sessies van andere bezoekers kan overnemen of zo iets. Het kan een fabeltje zijn, maar gewoon een extra veiligheidje.


Leuk als je een statisch ip-adres hebt :)
 



Overzicht Reageren

Get Adobe Flash player