![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Hey
Mam problem, przy ktorym normalnie sie zakrecilem. Ciekawi mnie jak wy odtwarzacie sesje uzytkownika, poniewaz moje proby narazie nic nie przyniosly. Najpierw chcialem aby obiekt auth zwracal id uzytkownika (po rozpoznaniu ciacha) a nastepnie na podstawie id session handler odtwarzal sesje. Problem polega na tym ze obiekt auth wykozystuje sesje do przechowywania danych o urzytkowniku. Czyli jesli go wywolam przy otwieraniu sesji to po zakonczeniu rejestracji session handlera dane uprzednio w sesji umieszczone gubia sie. Niby da sie ominac ten problem przez pominiecie obiektu auth ale nie musze nikomu tlumaczyc ze to nie jest dobry pomysl. Moze ktos posiada juz doswiadczenia z odtwarzaniem sesji i zechce sie nimi podzielic ? -------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 15.12.2003 Skąd: Mikołów Ostrzeżenie: (0%) ![]() ![]() |
nie wiem czy ci to pomozę ale
[php:1:9e04596d6e]<?php session_id ( $dane ); session_start(); ?>[/php:1:9e04596d6e] tak mozesz ustalic sesje, podbierajac skąds numer sesji jako $dane. -------------------- Workshop: FC2/WinXp SP1 | Apache 2.0.50 | PHP 5.00 | MySQL 4.0.20 | Zend Studio 3.5 :)
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Cytat tak mozesz ustalic sesje, podbierajac skąds numer sesji jako $dane.
Nie o to mi chodzilo ![]() Problemem jest dla mnie odtwarzanie sesji jesli dane potrzebne do jej odtworzenia dostarcza obiekt auth ktory z kolei uzywa sesji do przetrzymywania danych. Nie chce obnizac bezpieczenstwa systemu omijajac obiektu auth ale chyba jednak nie ma innego wyjscia. Tylko do ciasteczka autoryzujacego bede musial dodac unikalny klucz zeby ktos sobie na wlasna reke ciasteczka nie zrobil. -------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 1.10.2003 Skąd: Mikołów Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem pewny czy Ci to pomoże ale możesz spróbować troche zmienić podejście do tematu...
w sesji trzymasz cały obiekt autch. musisz jedynie pamiętać żeby zrobić to w ten sposób: [php:1:ecde89ef99]<?php session_write_close(); //Tutaj definicja klasy autch. session_start(); ?>[/php:1:ecde89ef99] no i jak gość się zaloguje obiekt autch pobiera jego dane i tworzysz zmienna sesji - obiekt autch [php:1:ecde89ef99]<?php $autch=New autch(); if($autch->Zaloguj($login,$haslo))//jesli poprawnie sie zalogowal autch->Zaloguj() pobiera jego dane i zwraca true { $_SESSION['autch']=$autch; } ?>[/php:1:ecde89ef99] a potem tylko sprawdzasz czy istnieje obiekt [php:1:ecde89ef99]<?php if(isset($_SESSION['autch']) && get_class ( $_SESSION['autch']=="autch")) { //gosc jest zalogowany $autch=$_SESSION['auych']; } else { header("Location:logowanie.php"); //gosc nie jest zalogowany } ?>[/php:1:ecde89ef99] |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
@boloo77 biestety nie o to mi chodzilo. Juz nawet nie patrz na to jak na autoryzacje. Chodzi o to ze obiekt ktory powinien dostarczyc session handlerowi dane dla odtworzenia starej sesji sam jej uzywa. Wszystko sie krzaczy poniewaz ow obiekt umieszcza dane w standardowej sesji php ktora jest nadpisywana przez uzyty pozniej session handler. Wiec dane sie gubia
![]() ![]() -------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 15.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
czyli jeże.i dobrze rozumiem to używasz jakby 2'ch sesji na raz. Ja bym zrobił to tak. Własna klasa z obsługą sesji po session read zapisać id jako zmeinną , nowe sessionid przypisać przez session_id($nowe). Potem tylko jeszzce przy zapisie powtórzyć tyko odwrócony proces. Nie wiem czy dobrze zrozumiałe ale chyba o to biega
![]() ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
No to jest logiczne rozumowanie. Niestety staram za wszelka cene trzymac sie wyznaczonych celow. Czyli np session handler nie powinien zajmowac sie niczym innym jak zapoczatkowaniem sesji uzytkownika , starej badz nowej. Nie powinien sie przejmowac tym ze obiekt auth costam chce i trzeba by bylo go wspomoc przez przepisanie okreslonych danych do sesji :/ .
Ale dzieki bora chyba jednak przepisze ta jedna tablice autoyzacyjna i bede mial spokoj. -------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 03:29 |