Altijd ingelogt met Cookie?
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.
Vaak worden session ID's opgeslagen in cookies. Je kutn de lifetime op de volgende manier verhogen:
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?
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
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.
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.
En test het ook zo:
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?
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
Code (php)
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'
Als 'domein' jouw domeinnaam is dan lijkt het mij okee.
Moet ik er misschien nog iets aan toevoegen, Bijvoorbeeld welke sessie de lifetime krijgt?
Nee. Ik weet niet hoe jij test. Maar als je de browser sluit en weer opent is de session gewoon voorbij.
Dat wil ik juist niet, dat de sessie voorbij is. Ik wil ingelogt blijven.
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.
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.
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.
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.
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.