![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 24.12.2003 Skąd: Wisła Ostrzeżenie: (0%) ![]() ![]() |
Napisałem wlasny mechanizm ....
Jak to zrobić gdy user wyjdzie ze strony na którą się zalogował na przykład google i gdy powróci żeby nie miał możliwości kontynuowania sesji. (sesja zostaje przerwana gdy wchodzi się na inną stronę) -G Bowiem moze sie zdarzyc tak że user zaloguje się a potem zapomni sie wylogować, i wejdzie sobie na inna stronę, potem przyjdzie inny user i może cofnąć się na jego konto. Jaki zatem dodac ograniczenie? oprócz numeru IP, Nie chce przekazywać SID przez adres, Nie chce aby bylo tak ze gdy otworze przegladarke sesja juz istniala bez logowania, nowe okno = ponowne logowanie... Jakie dodac ograniczenia ? Za każdym razem gdy user wchodzi na stronę odwołuję sie do bazy danych, i sesja jest aktualizowana: sprawdzam IP oraz czas..... mysql_query("UPDATE ".$prefix."_session SET uname='$uname', time='$ctime', host_addr='$ip', guest='$guest' WHERE uname='$uname'"); |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Było - sam podawałem sposób. Poszukaj
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jarod ciekawe jak, może podasz linka, bo mi się nie chce szukać po stronach.
A ja nie widzę skutecznej metody, nawet na poziomie przeglądarki. Jeśli ta nie zostanie zamknięta, lub czasu nie aktywności. Nawet używając HTTP_REFERER też jest do niczego przy cofaniu... EDIT: lit Ten post edytował Sedziwoj 22.04.2007, 21:33:24 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jarod ciekawe jak, może podasz linka, bo mi się nie chce szukać po stosach. A ja nie widzę skutecznej metody, nawet na poziomie przeglądarki. Jeśli ta nie zostanie zamknięta, lub czasu nie aktywności. @Sedziwoj: może niezbyt dokładnie odpowiedziałem. Masz w zupełności racje. Ja odniosłem się do części pytania kolegi: Cytat Nie chce aby bylo tak ze gdy otworze przegladarke sesja juz istniala bez logowania, nowe okno = ponowne logowanie...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No chyba że tak...
(nawet zacząłem przeglądać, czy przypadkiem coś mi nie umknęło) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 24.12.2003 Skąd: Wisła Ostrzeżenie: (0%) ![]() ![]() |
Klucz sesji przekazuję przez ciasteczka własnego wyrobu.....
Produkujemy przy logowaniu ciasteczko, które bedzie żylo przez 1 godzine. setcookie("user","$info",time()+3600); Ciasteczko zawiera nasz SSID sesji ($info), i sobie leży na naszym komputerku. Zamykamy przegladarkę i opuszczamy komputer. Ciasteczko pozostaje, gdyz zamkniecie przegladarki go nie niszczy. Przychodzi ktoś inny otwiera przeglądarkę, wchodzi na naszą stronę i bez logowania ma dawną naszą sesję. (w ciągu tej godziny) (gdyz SID jest zapisany w cookies) Jak zrobić zabezpieczenie aby po ponownym otwarciu przegladarki, pomimo ze istnieje cookies ze starej sesji, trzeba się ponowanie zalogowac ? Ten post edytował grzesio 4.06.2007, 00:31:35 |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ciasteczko pozostaje, gdyz zamkniecie przegladarki go nie niszczy. Więc nie ustawiaj czasu wygaśnięcia ciastka. Wygaśnie wraz z zamknięciem okna przeglądarki. Jedyny sposób na "zniknięcie" sesji, to zamknięcie przeglądarki. Tak jak powiedzieli poprzednicy, w przypadku powrotu na stronę, trudno jest dopilnować ważności sesji. Możesz coś kombinowaćz refererem, ale ciężko raczej będzie... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 2 Dołączył: 9.05.2007 Skąd: INTERNET Ostrzeżenie: (0%) ![]() ![]() |
Ja by to zrobił tak. Dla każdej wygenerowanej strony dodajesz jakieś unikalne id. Po wyświetleniu całej strony id zapisujesz w bazie jako użyte. Przed wyświetleniem natomiast sprawdzasz czy id już występowało: jeśli tak, to jest to "wstecz".
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 24.12.2003 Skąd: Wisła Ostrzeżenie: (0%) ![]() ![]() |
"Jedyny sposób na "zniknięcie" sesji, to zamknięcie przeglądarki".........................
jeśli istnienie sesji równa się istnieniu ciastka to jest problem,,,,, bo może się zdarzyć że będzie przeglądarka, która nie usuwa ciastek, (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) zalogujesz sie z takiej przeglądarki potem ją zamkniesz, będziesz pewny że sesja zamkniętam ale cookies pozostalo, a tym samym sesja nadal istnieje, ktoś wejdzie i przejmie sesję.... Ten post edytował grzesio 5.06.2007, 23:31:50 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 10:35 |