![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 23.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taki problem:
Zrobilem sobie panel logowania, ale nie jest on oparty o sesje. Natomiast mam ustawione cos takiego ze przy kazdym poprawnym zalogowaniu robi uzytkownikowi dany token ktory jest niszczony po wylogowaniu wiec nie mozna na ten sam token ponownie zalogowac. Dziala to tak jak id sesji. Jednak klopot w tym, że jezeli user nie kliknie wyloguj to token nie zostanie usuniety przez co mozna pozniej bez logowania wejsc na strone na admina znajac ten token. Jest jakas mozliwosc zeby ustawic tak zeby np. po 5 minutach bezczynnosci token sie usuwal i automatycznie wylogowywalo usera?? (Mysle ze tu chodzi o to zeby poprostu dorobic sesje i po bezczynnosci wraz z poleceniem session_destroy() usuwal sie token, tylko nie wiem jak to wykonac) Z góry dziękuję za pomoc. Ten post edytował qarles 9.04.2011, 21:37:33 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A gdzie trzymasz ten token? Jak w bazie, to możesz dołożyć kolumnę z czasem i sprawdzać, czy minęło X czasu od ostatniego włączenia strony. Jak przekroczyło, to kasuj rekord z bazy, jak nie to może dalej chodzić jako zalogowany.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 23.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak, token trzymam w bazie:) To jak to mozna zrobic zeby z tym czasem odliczal?
Aha no i wlasnie. Bo to bedzie mi tylko niszczyl przy wlaczonym kompie i przegladarce, a ja chcialbym zeby tak jak sie wylaczy kompa czy przegladarke to niszylo sesje wraz z tokenem... Ten post edytował qarles 9.04.2011, 23:15:05 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
No ale jak trzymasz ten token u kogoś na kompie, aby go identyfikować? W sesji (napisałeś, że nie opiera się o sesję)? W ciastku? Za pomocą IP?
Możesz puścić skrypt sprawdzający te czasy w CRONie. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Można wywołać skrypt,poprzez homonogram zadań.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 23.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
No ale jak trzymasz ten token u kogoś na kompie, aby go identyfikować? W sesji (napisałeś, że nie opiera się o sesję)? W ciastku? Za pomocą IP? Możesz puścić skrypt sprawdzający te czasy w CRONie. Napisalem ze token trzymam w bazie. A po kliknieciu wyloguj token jest usuwany z bazy aktualne_logowania a zostaje w bazie prawidlowe_logowania. Chodzi o to zeby tak zostawal w prawidlowych a z aktualnych byl usuwany i tak tez sie dzieje, ale zeby tez sie usuwal tak jak id sesji albo bo bezruchu albo po wylaczeniu kompa np. z pradu Próbowalem tak, ale pokazywalo blad Notice: Undefined index: admin. Notice to usunalem wyswietlanie i niby w sumie wszystko dzialalo pieknie bo po tym czasie jak sie odswiezylo to to wyrzucal tak jak po wylogowaniu do login.php ale z bazy nie usuwalo mi to tokena...
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
http://pl.php.net/manual/en/function.sessi...ave-handler.php
albo jeżeli chcesz żeby Ci token "wygasa" to przy każdym przejściu na stronę odświeżaj datę w ciachu, ale najpierw sprawdź czy poprzednia data nie jest wyższa od 5min czy jak tam chcesz. -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 23.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
http://pl.php.net/manual/en/function.sessi...ave-handler.php albo jeżeli chcesz żeby Ci token "wygasa" to przy każdym przejściu na stronę odświeżaj datę w ciachu, ale najpierw sprawdź czy poprzednia data nie jest wyższa od 5min czy jak tam chcesz. Dzięki wielkie za podsuniety pomysl z data i jej odswiezaniu. Juz wiem jak sobie z tym poradzic. Temat do zamknięcia. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 08:13 |