Не открывать php-сессию при выходе из браузера - PullRequest
0 голосов
/ 29 января 2012

Я работаю с сессией PHP. Это работает хорошо, за исключением того, что если я выйду из браузера и вернусь на веб-страницу, сеанс истек. Как я могу предотвратить это / установить время истечения сеанса?

Ответы [ 2 ]

2 голосов
/ 29 января 2012

Вы можете изменить конфигурацию session.cookie_lifetime, чтобы браузер не просто выбрасывал куки-файлы вашей сессии, когда они закрыты (вы просто даете ему несколько секунд, и он устанавливает дату истечения срока действия) ...

// assuming you can't change your php.ini file
ini_set('session.cookie_lifetime', 3600); // one hour

... Но как долго вы хотите, чтобы сессия оставалась жизнеспособной?Поскольку другой параметр конфигурации, о котором вам нужно беспокоиться, это session.gc_maxlifetime, который задает (снова в секундах), как долго данные сеанса могут существовать (без изменений, я полагаю?), Прежде чем они будут считаться мусором.

Значение по умолчанию для session.gc_maxlifetime составляет 1440 секунд, или около 24 минут.

1 голос
/ 29 января 2012

Рассмотрим упомянутые угрозы безопасности.чтобы продлить время жизни сеанса, вы можете установить время жизни файла cookie сеанса перед началом сеанса следующим образом.

                     $lifetime=60*60*24*14;   //2 weeks in seconds. you can change the time as you wish
                     session_set_cookie_params($lifetime, '/');
                     session_start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...