Аз създадох PHP5 скрипт, който използва сесии. Стартирането на сесията върви добре и също така създава бисквитка (както се очаква).
Но след затваряне на браузъра (Firefox 19.0.2 на Mac OSX Mountain Lion) и отваряне на браузъра сесия ID остава същата. Дори и след няколко дни. Това обаче, докато session.cookie_lifetime е настроено на 0
В PHP използвам това, за да стартирам сесията:
//set cookie params: lifetime, path, domain, https, http-only
session_set_cookie_params(0, "/", null, false, true);
session_name("MySession");
//start session
session_start();
Тук е моят PHP.ini
session.use_cookies = 1
session.use_only_cookies = 1
session.cookie_httponly = 1
session.cookie_lifetime = 0
session.cookie_path = /
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.hash_function = 1
session.hash_bits_per_character = 6
session.save_path = /var/lib/php5
session.name = PHPSESSID
Файловете от сесията се премахват в / var / lib / php5 След session_destroy () файловете ще бъдат премахнати.
Въпреки това, след като отново използвате скрипта (като се стартира aсесия) Ще получа стария идентификатор на сесията. Последната петък излязох от компютъра си и сега се върнах, все още получавам този стар сеанс ID. Наистина бих искал да имам нов идентификатор на сесия след затваряне на браузъра (команда Q)
Току-що прочетох за набожната „функция“ на firefox, която съхранява „бисквитката“ за вас, сякаш никога не сте затваряли браузъра.
Мисля, че това може да е само причината. Тъй като не искам това, трябва да намеря работа.
Можете ли да ме посъветвате за това?
Отговори:
0 за отговор № 1Трябва да настроите времето на бисквитката във функцията, която ще остане там. Тук трябва да предоставите време за изтичане. Ето някои примери http://php.net/manual/en/function.session-set-cookie-params.php