Унищожаване на сесия при определен интервал от време

streleca_stz

Registered
Здравейте! Искам да ви попитам дали е възможно да задам само на определена сесия време на живот и да се унищожава след да речем 5-10минути.

Това което точно искам да направя - при вход в сайта се създава сесия с информация за сайта (статистика и пр. за намаляване на SQL заявките) и при престой повече от 5-10мин да се изтрие създадената при посещения сесия. На нейно място ще се създаде нова със същите данни (е, ако има нови записи ще е различна информацията, ако не - ще остане същата)

Дано да сте ме разбрали! :)
 
Код:
 ini_set('session.gc_maxlifetime',14400);
 ini_set('session.gc_probability',1);
 ini_set('session.gc_divisor',1);
 
Не барай сесиите. Може да направиш по-лесен вариант с по-малко пипане по конфигурацията ти на PHP :)
Запази статистиките в бисквитка и й задай колко време живот искаш ти. Там където ти се зарежда статистиката за сайта проверяваш, ако има бисквитка не изпълнява заявките, ако няма бисквитка изпълняваш заявките и резултата го записваш в бисквитка и вече показваш само стойността на бисквитката :)
 
Ами.. то добре да използвам бисквитка, но аз като не разбирам от тях? Още в началото си карам на сесии, защото бях дочул, че кукитата е можело да се крадат и...
 
Cookies се крадат, ако не знаеш как се използват. В интернет има много статии и уроци как да защитаваме информацията в тях. Потърси с Google. :)

В твоя случай информацията в тях никой няма да ти я краде. Относно използването им ето ти актуална информация за това как се използват и как се създават/изтриват :)
 
Просто на бисквитките им задавай параметъра httponly да е true, освен, ако няма да ги достъпваш с JavaScript.
 
Ясно.. а може ли по принцип да дадете някой линк към хубави нови статии за бисквитки, за да ги науча най-накрая.. xD
 
Fakeheal каза:
Cookies се крадат, ако не знаеш как се използват. В интернет има много статии и уроци как да защитаваме информацията в тях. Потърси с Google. :)

В твоя случай информацията в тях никой няма да ти я краде. Относно използването им ето ти актуална информация за това как се използват и как се създават/изтриват :)

Сесията също се инициалира с Cookie
 
Ти сесиите можеш да ги манипулираш като използваш handler-a и си напишеш собствени функции.
 
@TryMe той не може се оправи с cookies ти handler и функции го пращаш :D

Тука ти е обяснено всичко! http://www.php.net/manual/bg/function.setcookie.php
 
IzKuFeLiQqQqQ каза:
@TryMe той не може се оправи с cookies ти handler и функции го пращаш :D

Тука ти е обяснено всичко! http://www.php.net/manual/bg/function.setcookie.php


Аз не мога да разбера, какво има за разбиране на бисквитките. Има 1 (добре де setcookie и setrawcookie) функция, която трябва да и научи параметрите. Трябва му да знае, че има запазена променлива $_COOKIE, с която се достъпва до вече зададените бисквитки, и че бисквитките се пазят от браузъра за време, което е зададено на браузъра. Ако не е зададено време, то бисквитката все едно е сесийна бисквитка - трие се при затваряне на браузъра.
Бисквитка може да се пази в определена директория, както и може да се задава само на определен домейн. Може да се зададе да се достъпва само от HTTP, т.е. само с HTTP рекуести може да се достъпи(а именно това е параметъра httponly, който е много ефикасен против XSS и достъпване на бисквитката от JavaScript, а именно от клиента).
Друго не се сещам, което му е нужно да знае.
Ползва се като сесията, но се задава от setcookie() и се ползва от $_COOKIE.

П.П. Изтървах нещо... другия начин за задаване на бисквитка е чрез хедър:

PHP:
header("Set-Cookie: name=value");
 

Back
Горе