Sesja (informatyka)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Sesja to w informatyce obiekt, zapamiętujący przez pewien czas na serwerze szczegóły dotyczące połączenia z klientem. Cechą charakterystyczną sesji jest to, że przypisane do niej dane mają przeważnie charakter chwilowy, ulotny (w przeciwieństwie np. do preferencji przypisywanych do konta klienta).

Rodzaje sesji[edytuj | edytuj kod]

Sesje internetowe[edytuj | edytuj kod]

Ze względu na bezstanowość protokołu HTTP, niezbędny jest sposób na każdorazowe przekazywanie informacji pomiędzy przeładowaniami witryny. Przykładem jest tutaj informacja o "byciu zalogowanym", tak aby nie trzeba było podawać za każdym razem hasła. Problem ten można rozwiązać przez rozpoczęcie sesji, która w ujęciu WWW oznacza uniwersalny, spersonalizowany worek do przechowywania danych po stronie serwera. W sesji można przechowywać dowolne wartości, np. adres IP klienta, odwiedzone przez niego podstrony, wybrane produkty w sklepie internetowym, informacja o zalogowaniu, identyfikatory itp. Dla każdego klienta tworzona jest osobna sesja, dzięki temu informacje te nie mieszają się pomiędzy różnymi użytkownikami danej strony. Serwer musi posiadać sposób na rozpoznawanie, która sesja należy do którego klienta. Osiągane jest to poprzez stosowanie identyfikatora sesji, który po stronie klienta jest na ogół przechowywany w ciasteczku lub rzadziej w treści URL-a.

Sesje w obrębie pojedynczej jednostki[edytuj | edytuj kod]

Sesja nie musi obejmować zasięgiem wielu komputerów. Dany program komputerowy, czy nawet system operacyjny, może rozpoczynać sesję po uprzednim zalogowaniu się i wówczas podział na serwer i klienta nie jest już tak oczywisty. Można tu mówić o tym, że serwerem jest program (ewentualnie urządzenia wyjściowe – np. monitor), a klientem są urządzenia wejściowe (np. myszka, klawiatura).

Dane sesji w wypadku systemu operacyjnego mogą obejmować otwarte okna (uruchomione programy), ich pozycję itp. W przypadku innych programów komputerowych mogą to być np. ostatnio otwarte strony internetowe, pliki, czy projekty (grupy plików).

Zagrożenia[edytuj | edytuj kod]

Przechwytywanie sesji[edytuj | edytuj kod]

 Osobny artykuł: Session hijacking.

Przechwytywanie sesji odnosi się do prób przejęcia poprawnej sesji (klucza sesji), aby uzyskać nieautoryzowany dostęp do usług bądź informacji systemu komputerowego. Zwykle odnosi się do nieuprawnionego wejścia w posiadanie klucza sesji, wykorzystywanego do identyfikacji użytkownika podczas jego wizyty w witrynie internetowej. Jest to istotne zagadnienie przy konstruowaniu stron internetowych, gdyż ciasteczka wykorzystywane do utrzymywania sesji mogą być bardzo łatwo ukradzione, na przykład poprzez wykorzystanie technik XSS.

Dane sesji mogą być przechowywane po stronie serwera, jednak pewnego rodzaju identyfikator sesji, czyli identyfikator "bycia zalogowanym", musi być przekazywany do serwera (wysyłany zwykle poza świadomością użytkownika poprzez ciasteczka, bądź metodę GET lub POST). Przechwycenie takiego identyfikatora (klucza sesji), umożliwia osobie postronnej dostęp do danej strony, tak, jakby przeglądał ją pełnoprawny użytkownik.

Zobacz też[edytuj | edytuj kod]

Zobacz publikację na Wikibooks:
PHP – sesje

Linki zewnętrzne[edytuj | edytuj kod]