![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 12.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich...
problem jest następujący... zrobiłem w swoim projekcie logowanie użytkowników na sesjach. W momencie logowania gdy dane wpisane w formularzu zgadzaja się z tymi pobranymi z bazy danych tworze zmienną sesyjną $_SESSION['user'] = $login; następnie za każdym razem sprawdzam czy użytkownik jest zalogowany: ---------- function log_uzyt() { global $_SESSION; if (isset($_SESSION['user'])) return true; else return false; } ---------------- I wszystko niby jest pięknie do momentu wylogowywania użytkownika co robie w następujący sposób: unset($_SESSION['user']); session_destroy(); Po wywołaniu tych poleceń pokazuje mi że użytkownik rzeczywiście jest wylogowany ale: kiedy daje w przeglądarce <<cofnij ponownie zaczynaja być wysyłane dane z formularza i użytkownik jest automatycznie zalogowany ponownie co nie powinno mieć miejsca. Podsumowując co należy zrobić aby zabezpieczyć przed ponownym wysłaniem danych z formularza lub po prostu ktoś ma pomysł jak dobrze zrealizować wylogowanie użytkownika żeby nie było pod żadnym pozorem możliwosci nieautoryzowanego zalogowania?? wielkie dzięki z góry |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 179 Pomógł: 0 Dołączył: 9.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat It took me some time to figure this out: If you have register globals off, you probably use $_SESSION to acces you session vars. If you want clear a sessionvar inside the current script, but also in next pages, do this as follows: session_unregister('varname'); Otherwise varname will keep returning either inside the script, or on the next pages. unset($_SESSION['varname']) will only unset the session var on the current page. To notka z manuala. Zawsze warto je czytać ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 12.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
rzecz jest niestety w tym że zmienna sesji jest usuwana i na kolejnych podstronach użytkownik jest wylogowany tak jak chciałem, ale kiedy np:
nie wyłącze okna przegladarki i odejdę od kompa i kiedy podejdzie nowa osoba i zacznie uporczywie klikać <<wstecz w przeglądarce to w pewnym momencie przegladarka dojdzie do miejsca gdzie poprzednio się logowałem i wtedy prześle dane z formularza sama i automatycznie zaloguje kogoś z danymi wpisanymi przy poprzednim logowaniu |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Po pierwszym logowaniu można dopisać do danych sesyjnych że formularz wysłano i późiej sprawdzać to zmienną.
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 08:58 |