Remember me?

DownFall

Registered
Интересно ми е, каква е логиката на "remember me" checkbox-а?
По принцип, записвам данните за сесията на потребителя в бисквитка, но искам да изградя възможност да бъде запомнен, дори и след затваряне на браузъра.

В момента, при логване на потребителя създавам текстов файл, чието име съдържа IP адреса на посетителя и user agent информацията (Създавам нов файл, защото знам че ще се пази на сървъра докато не го изтрия, няма срок на валидност), а съдържанието му е ID на сесията, от където вече лесно обработвам данните.

Този вариант работи чудесно, но се замислих, че ако има няколко човека използващи един и същи IP адрес и еднакви браузъри, ще възникне конфликт между тях, което ме навежда на мисълта, че подхода ми е грешен.

Какво друго решение можете да ми предложите?
Благодаря предварително.
 
Soul_Stealler каза:
Стандартната Remember me опцията работи по подобен начин, само че с бисквитка :)
Разбирам, както споменах в първия си коментар, предлагам на потребителите си и двата варианта за записване на сесията. Със сигурност варианта с бисквитката е доста по-удобен, но при затваряне на браузъра, сесията се затрива, което вече е проблем.. Във втория вариант, също съм написал какво ме притеснява.. Има ли друг вариант за изграждане на подобна система?
 
Е, ти не ги запазвай в сесийна бисквитка, а в бисквитка чрез setcookie() като задай времетраене на COOKIE-то. Така бисквитката няма да се изтрие при затваряне на браузъра.

Иначе друг вариант е и с база данни, но тука може да се получи пак проблема с влизането от 1 IP и USER AGENT.
 
relax4o каза:
Е, ти не ги запазвай в сесийна бисквитка, а в бисквитка чрез setcookie() като задай времетраене на COOKIE-то. Така бисквитката няма да се изтрие при затваряне на браузъра.

Иначе друг вариант е и с база данни, но тука може да се получи пак проблема с влизането от 1 IP и USER AGENT.
Терминът "сесиина бисквитка" не ми е познат, имах предвид точно бисквитка, зададена чрез setcookie. И въпреки това, след затваряне на браузъра я изтрива.. ? :)
 
Задава се колко време да е валидна. Друг е въпроса ако потребитела си е излючил бисквитките от браузера му. Но това е вариянта който търсиш. Вече ако си ги е изключил от браузера бисквитките, проблема си става негов, че не го запаметява.

http://php.net/manual/en/function.setcookie.php
 
DownFall каза:
relax4o каза:
Е, ти не ги запазвай в сесийна бисквитка, а в бисквитка чрез setcookie() като задай времетраене на COOKIE-то. Така бисквитката няма да се изтрие при затваряне на браузъра.

Иначе друг вариант е и с база данни, но тука може да се получи пак проблема с влизането от 1 IP и USER AGENT.
Терминът "сесиина бисквитка" не ми е познат, имах предвид точно бисквитка, зададена чрез setcookie. И въпреки това, след затваряне на браузъра я изтрива.. ? :)

Сесийна бисквитка се води $_SESSION[].
 

Горе