Diskuze: Ako nastaviť php session cookie aby sa nemazal po zavretí prehliadača?
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Chyba je zjavne len u prehliadača Google Chrome :/
to bylo první co mě napadlo
dodat, ale pak jsem si řekl, že moje hledání chyb v Chrome by bylo až moc
rýpavé
celý deň sa tu s tým hrajem, a náhodou, ale naozaj náhodou som otvoril
IE 10, tak som to vyskúšal, a žiaden problém je to trochu smutné že taký
rozšírený prehliadač a taka banálna chybka
btw mohol si mi tvoj prvý nápad napísať a ušetril by som si času
já když něco programuju, tak když mi v chrome něco nefunguje, první co udělám je test v jiném prohlížeči. Hned druhý nejčastěji bývá dotaz do google
XYZ does not work in chrome
na stackoverflow je většinou nějaké řešení
Stačí nastavit lifetime pro session cookie parametr. Tedy:
<?php
session_set_cookie_params(600);
session_start();
A tohle by mělo stačit aby se ti session ID uložilo do cookie na 10 minut, například.
Prostuduj si tuto stránku: http://php.net/…e-params.php - Všimni si třeba položky
httponly či secure, jak u klasické cookie..
Uživatel sítě : už preštudované dík
Uživatel sítě : nakoniec som to vyriešil aj takto:
...
// nastavenie session
ini_set("session.name", "id");
ini_set("session.cookie_httponly", true);
ini_set("session.cookie_lifetime", 60*60*24*30); /* mesiac v sekundách */
ini_set("session.cache_expire", 60*24*30); /* mesiac v minútach */
...
zaručím si aj to, aby sa mi zo serveru nevymazalo pole s daným session? ďakujem
Mělo by zůstat na serveru, dokud mu nevyprší zasedání. Ale dal jsi mi
docela brouka do hlavy, tohle se myslím řeší přes session name.
Rychle řečeno: Uložíš jsi jméno skupiny zasedání, kterou si po dobu
lifetime můžeš kdykoliv obnovit. Myslím, že to takhle funguje, pokud ji
ovšem nezavoláš tak při nastartování dalšího zasedání by se mělo to
staré smazat..
Uživatel sítě : Jak ako uložiť meno sessionu a potom obnoviť? Som trošku nepochopil :/
Ak by to nešlo inak, tak by som ten session mohol nejako ukladať do databázy.
Omlouvám se, trochu jsem to nejspíše popletl, či už si to nepamatuji.
Zkoušel jsme to a dospěl jsem k tomu, že pokud budeš mít stále uložené session id, tak hodnoty, které jsi uložil stejně zůstanou na serveru. Zasedání, prostě zůstane uložené na dobu co id. Tedy, tak mi to funguje na localce při výchozích nastaveních.
Uložil jsem si id a čas, smazal jsem id z cookie a čas se také smazal.
Tak jsem to tedy pochopil..
Také bych ti ještě poradil, vždy před provedením nějaké citlivější
operace, přihlášení nebo něco jiné, použít session_regenerate_id().
Kvůli Session Fixation..
Zobrazeno 11 zpráv z 11.