Altijd ingelogt met Cookie?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ferdi R

Ferdi R

01/11/2011 14:57:35
Quote Anchor link
Ik heb een inlog systeem met sessies maar na 10 of 20 minuten ben je weer uitgelogt.

Ik kan bij de gebruiker een cookie opslaan en als deze gebruiker op de site terug komt hem automatisch weer een sessie geven maar dat lijkt mij niet veilig.

Hoe kan ik er voor zorgen dat een persoon altijd ingelogt is, Of wat is de beste manier.
 
PHP hulp

PHP hulp

21/11/2024 19:16:13
 
Kees Schepers

kees Schepers

01/11/2011 15:13:06
Quote Anchor link
Het meest veilige is blijven werken met sessies omdat data dan server-side bewaart blijft. Je kunt eventueel de session lifetime hoger zetten.

Vaak worden session ID's opgeslagen in cookies. Je kutn de lifetime op de volgende manier verhogen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
session_set_cookie_params(4 * 3600); //4 uur
?>
 
Joost van der Meijden

Joost van der Meijden

01/11/2011 17:20:00
Quote Anchor link
Ik wou hier net een vraag over stellen! Ik heb heel veel dingen gelezen, over session id's die in de database worden opgeslagen en dan weer worden ingesteld als cookie, telkens ververst worden en blablabla maar snap het niet precies.

Zou iemand meer uitleg kunnen geven hierover?

Alvast bedankt! :-)

Edit:
Ik dacht dat het iets was met een random gegenereert id wat als cookie bij de user word opgeslagen..
Op iedere pagina word dan in de database gekeken of het id overeenkomt.
Zo ja: nieuw id aanmaken, cookie vervangen met het nieuwe id, en de user blijft ingelogd.

Zo nee: user is niet ingelogd.

Kan iemand dit verhalen bevestigen? Hoe veilig is dit?
Gewijzigd op 01/11/2011 17:32:17 door Joost van der Meijden
 
Ferdi R

Ferdi R

02/11/2011 14:36:05
Quote Anchor link
De session_set_cookie_params() werkt niet bij mij, Op sommige websites lees ik dat je het boven session_start() moet plaatsen en bij sommige zie ik da ze het erna plaatsen.
 
- SanThe -

- SanThe -

02/11/2011 14:47:09
Quote Anchor link
Ferdi R op 02/11/2011 14:36:05:
De session_set_cookie_params() werkt niet bij mij, Op sommige websites lees ik dat je het boven session_start() moet plaatsen en bij sommige zie ik da ze het erna plaatsen.


Handig toch dat je dat gewoon op php.net kan opzoeken.

Quote:
Set cookie parameters defined in the php.ini file. The effect of this function only lasts for the duration of the script. Thus, you need to call session_set_cookie_params() for every request and before session_start() is called.
 
Ferdi R

Ferdi R

02/11/2011 15:02:58
Quote Anchor link
Goed, Ik heb het ook zo getest maar ik blijf maar 1 uur ingelogt inplaats van 4 uur.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
session_set_cookie_params(4 * 3600, '/', '.domein.nl');
session_start();
?>
Gewijzigd op 02/11/2011 15:14:53 door Ferdi R
 
Kees Schepers

kees Schepers

02/11/2011 15:29:46
Quote Anchor link
doe voor de zekerheid session_set_cookie_params((4 * 3600), '/', '.domein.nl');

En test het ook zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script


Dan weet je of het instellen gelukt is.

Quote:
Ik dacht dat het iets was met een random gegenereert id wat als cookie bij de user word opgeslagen..
Op iedere pagina word dan in de database gekeken of het id overeenkomt.
Zo ja: nieuw id aanmaken, cookie vervangen met het nieuwe id, en de user blijft ingelogd.

Zo nee: user is niet ingelogd.

Kan iemand dit verhalen bevestigen? Hoe veilig is dit?


Dit klopt niet helemaal. Sessies worden standaard op de server opgeslagen meestal in de /tmp directory. Deze standaard directory is eventueel in de php.ini te configureren maar ook in je script met ini_set('session.save_path', '/tmp');

PHP genereert wel voor jou een sessie ID en deze kun je eventueel opvragen met session_id(). De sessie data wordt ten alle tijden op de server opgeslagen wat bij cookies dus niet het geval is.

Sessies is het veiligste.
Gewijzigd op 02/11/2011 15:33:06 door kees Schepers
 
Ferdi R

Ferdi R

02/11/2011 16:22:55
Quote Anchor link
Het instellen is wel gelukt, De var_dump is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
array(5) { ["lifetime"]=> int(14400) ["path"]=> string(1) "/" ["domain"]=> string(10) ".domein.nl" ["secure"]=> bool(false) ["httponly"]=> bool(false) }


Maar het werkt niet, Is het domein wel goed? '.domein.nl'
 
- SanThe -

- SanThe -

02/11/2011 16:25:27
Quote Anchor link
Als 'domein' jouw domeinnaam is dan lijkt het mij okee.
 
Ferdi R

Ferdi R

02/11/2011 16:32:20
Quote Anchor link
Ik gebruik een ander domein in mijn code die is wel goed.

Moet ik er misschien nog iets aan toevoegen, Bijvoorbeeld welke sessie de lifetime krijgt?
 
- SanThe -

- SanThe -

02/11/2011 16:33:37
Quote Anchor link
Nee. Ik weet niet hoe jij test. Maar als je de browser sluit en weer opent is de session gewoon voorbij.
 
Ferdi R

Ferdi R

02/11/2011 17:34:52
Quote Anchor link
Dat wil ik juist niet, dat de sessie voorbij is. Ik wil ingelogt blijven.
 
Kees Schepers

kees Schepers

02/11/2011 19:12:08
Quote Anchor link
Jeetje mina. Je vraagt ons wat de beste/veiligste manier is en geef ik daar toelichting toe. Vervolgens tracht ik je te helpen met het verhelpen van de session lifetime. En dan kom je dat je met cookies wilt inloggen.

Ik denk dat je beter eerst kan verdiepen in wat nou precies het verschil is tussen sessies en cookies en vervolgens ZELF de afweging te maken wat het veiligste is.
 
Ferdi R

Ferdi R

02/11/2011 19:33:51
Quote Anchor link
Kees, waar zeg ik dat ik met cookies wil inloggen.

Cookies zijn niet veilig dat weet iedereen, Ik wil graag dat als iemand inlogt dat die gene een maand of langer is ingelogt en niet dat die gene na een uur opnieuw moet inloggen.

Ik wil met sessies blijven werken en jij raad mij de session_set_cookie_params aan maar het werkt niet bij mij (na een uur ben ik weer uitgelogt). Ik heb nooit met die functie gewerkt en vraag dan aan jullie wat ik fout doe of als er een oplossing is dat het wel kan/gaat werken.

SanThe probeert me dan te helpen maar hij begrijpt mij niet helemaal want ik wil het niet zo hebben dat als je de browser sluit dat de sessie dan ook afgelopen is.

Dus mijn vraag is nu: Hoe krijg ik de functie session_set_cookie_params werkend op mijn site.
 
- SanThe -

- SanThe -

02/11/2011 20:41:20
Quote Anchor link
Ferdi R op 02/11/2011 19:33:51:
SanThe probeert me dan te helpen maar hij begrijpt mij niet helemaal want ik wil het niet zo hebben dat als je de browser sluit dat de sessie dan ook afgelopen is.

Dus mijn vraag is nu: Hoe krijg ik de functie session_set_cookie_params werkend op mijn site.


Ook al werkt de functie session_set_cookie_params, dan nog zal na het sluiten van de browser de session beëindigd zijn. Om ingelogd te blijven zal je waarschijnlijk op cookies moeten vertrouwen en, zoals reeds gezegd, dat is niet echt veilig meer.
 
Wolf Wolf

Wolf Wolf

26/12/2011 22:45:50
Quote Anchor link
Het gebruik van cookies onveilig?
Het is maar net welke gegevens je plaatst en hoe je deze plaatst.

Dus altijd angstig zijn voor het gebruik van cookies is in mijn ogen onterecht.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.