Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesja
Forum PHP.pl > Forum > PHP
rsobczuk
Jeżeli mam otwartą jakąś stronę w jednej przeglądarce np (w Firefoxie) i w sesji zapisane są jakieś zmienne, to czy po otwarciu innej przeglądarki (np IE) można w jakiś sposób odczytać te zmienne podając np identyfikator sesji?questionmark.gif?
Przykład:
Firefox -> http://www.strona.com/zaloguj.php
Wtedy w sesji zapisana jest zmienna login: Stefan

Odpalam sobie IE (nie zamykając Firefoxa), wchodzę sobie na www.strona.com/blabla.php?SESS_ID=ff687f68ds76f87s6d87sd6f87sd6f8s7d6f

... wtedy skrypt sobie sprawdzi jakie wartości są zapisane pod tym identyfikatorem i dokument blabla.php zwróci mi na ekranie Stefan

Jakich funkcji użyć do tego celu i jak wogóle powinien wyglądać taki skrypcik.

Czekam na info (bez zadawania pytań a po co chcę tak zrobić itp).
Pozdrawiam
--r>s
mike
Cytat(rsobczuk @ 2005-04-25 19:38:21)
Czekam na info (bez zadawania pytań a po co chcę tak zrobić itp).

Nie, nie da się.
Każda przeglądarka ma sesje oddzielnie, co za tym idzie jest niewykonalne.
jono
a co ma przeglądarka do sesji które są po stronie serwera?
WiQert
przeciez sesje rpzechowywane sa na serwerze...wystarczy ze zrobisz tak by identyfikator sesji byl przesylany poprzez GET i wtedy normalnie otwierasz w nowej przegladarce link z tym SID'em [tak przynajmniej mi sie wydaje...ktos madrzejszy pewno skorybuje]
rsobczuk
Też mi się wydaje, że da się odczytać zmienne...
sobstel
dopóki identyfikator sesji przesylany jest przez adres metodą GET nie ma problemu żeby to zrobić. gdy mamy natomiast cookies nie jest to możliwe (ponieważ każda przeglądarka ma swoje cookies i jedna do drugiej nie ma dostępu).
jak odczytać? no tak jak zawsze odycztuje sie zmienne sesyjne.
cudny
Kiedys czytalem madry artykol zwiazany z mozliwoscia kradziezy danych z sesji - jest to prawie nie mozliwe...

W czasie przegladania strony wykonywanych sesji jest bardzo duzo - nie tylko takich ktore ty deklarujesz - jest ich znacznie wiecej i kazda z nich ma swoje osobne id ktore ma dluuuuugi ciag znakow wiec aby ktos wykradl dana sesje to moze znalezc ja tylko i wylacznie przez przypadek (TO MUSI BYC CUD smile.gif ) a poza tym jak juz wykradnie dane z tej sesji to nie bedzie wiadomo do czego te dane sa i jak mozna ich uzyc - ZAKLADAM ZE NIE PODAJESZ NA STRONIE PUBLICZNEJ KODU SKRYPTU biggrin.gif

pzdr
Cudny
rsobczuk
Ale mi nie chodzi o kradzież tych danych smile.gif Skrypt, który zapisuje dane w sesji i skrypt odpalany na drugiej przeglądarce będą pracować na tym samym serwerze smile.gif
WiQert
to tak jak pisza wyzej: wysylasz SID poprzez GET
rsobczuk
Wysyłam i co dalej? Jak powinien wyglądać ten skrypt, który mi wyświetli zawartość sesji?questionmark.gif
Otwieranie plików z sesją odpada... (/tmp/sess_$SID), bo jeżeli umieszczę aplikację na serwerze, gdzie jest mały ruch, to zadziała, ale na serwerach providerów np strefa.pl, to próba odczytu pliku trwa strasznie długo...
lemming
A SessionHandler w bazie? art na php.pl
sobstel
Cytat(rsobczuk @ 2005-04-27 08:57:56)
Wysyłam i co dalej? Jak powinien wyglądać ten skrypt, który mi wyświetli zawartość sesji?questionmark.gif

albo pytasz o elementarne rzeczy dotyczące sesji albo niejasno sprecyzowałeś o co ci chodzi. tak czy owak nie rozumiem tego pytania.
hwao
Cytat(mike_mech @ 2005-04-25 22:06:22)
Cytat(rsobczuk @ 2005-04-25 19:38:21)
Czekam na info (bez zadawania pytań a po co chcę tak zrobić itp).

Nie, nie da się.
Każda przeglądarka ma sesje oddzielnie, co za tym idzie jest niewykonalne.

Wrecz przeciwnie da sie to osiagnac:) jezeli w gecie bedize przekazany Session id i napisze sobie wlasnego session h i w nim nie bedzie tylko poznawanie po session id i ip to calosc zadziala smile.gif

jak pisac session handlera masz na php.pl arta:)
dr_bonzo
1. nie uzyskasz dostepu do danych sesji dopoki skrypt ci ich nie udostepni, np wypisze zawartosc $_SESSION
2. mozna podpiac kilka przegladarek pod jedna sesje (no oczywiscie jesli sesja nie wymaga takiego samego user-agenta (przegladarki)), trzeba po prostu stworzyc/edytowac cookie (jesli odpada przekazywanie SIDa w GETie) z takim samym SID (+inne parametry). Najlatwiej zrobic to w operze (preferences > cookies/privacy > manage cookies > edit cookie), a w kazdej innej mozesz odczytac SID (nie wiem jak tam z modyfikacja).
mike
Cytat(hwao @ 2005-04-27 18:22:00)
Wrecz przeciwnie da sie to osiagnac:) jezeli w gecie bedize przekazany Session id i napisze sobie wlasnego session h i w nim nie bedzie tylko poznawanie po session id i ip to calosc zadziala smile.gif

jak pisac session handlera masz na php.pl arta:)

Za mało rozwinąłem myśl.
Chodziło mi o to że nie da się za bardzo, albo będzie ciężko z wbudowanym mechanizmen sesji.
Z własnym jak najbardziej.

A jak go napisać, doskonale wiem tongue.gif
tarlandil
Zaden problem:

Prosty przykladowy skrypcik uzywajacy funckje session_id
  1. <?php
  2. if (isset($_REQUEST[&#092;"mysid\"])) 
  3. session_id($_REQUEST[&#092;"mysid\"]);
  4.  
  5. $_SESSION[&#092;"v\"]++;
  6. echo &#092;"<a href='http://www.tarl.org/test.php?mysid=\".session_id().\"'>link</a><br>\";
  7. echo $_SESSION[&#092;"v\"];
  8. ?>


wystarczy otworzyc taki link w innej przegladarce i bedzie miala ta same sesje.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.