Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> echo SID;, Dlaczego tylko raz?
latet
post 4.10.2005, 23:05:28
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 2.10.2005

Ostrzeżenie: (0%)
-----


Witam,

Oswajam się z sesjami (pierwsze kroki), i mam takie coś:

  1. <?php
  2. if (!isset($_SESSION['count'])) $_SESSION['count'] = 0;
  3. else $_SESSION['count']++; 
  4.  
  5. echo '<br>Strona odczytana '. $_SESSION['count'] . ' razy w ciagu tej sesji<br>';
  6. echo 'SID = ' . SID;
  7. ?>


Wszystko niby działa. Liczniczek zwieksza się ślicznie po każdym odświeżeniu (za pierwszym razem pokazuje oczywiście 0).

Natomiast SID wyświetlany jest tylko za pierwszym razem (jako ciąg w rodzaju PHPSESSID=a01917bd6eff649te9371595ff803d43). Za każdym nastepnym odświeżeniem SID się już nie wyświetla (ciąg pusty, brak komunikatów o błędach).

Dlaczego tak się dzieje?
Domyślam się, że być może dlatego, że po odświeżeniu skrypt wykrywa obecność cookie przechowującego SID. No, ale dlaczego z tego powodu pod zmienną (tzn. stałą) SID podstawia ciąg pusty?

Dzięki,

latet
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
latet
post 6.10.2005, 07:43:05
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 2.10.2005

Ostrzeżenie: (0%)
-----


Potestowałem trochę i mam takie pytanie:

Wyłączyłem cookies w przeglądarce (FF). Zalogowałem się na to forum. W każdym linku pojawił się SID (choć wcale nie na końcu linka - widać, jest to obojętne).

Skopiowałem ten link i wkleiłem do IE. Otworzyło się forum, ale wcale nie byłem od razu zalogowany, a numer sesji w widocznych linkach się zmienił.

Dlaczego więc skopiowany w linku SID nie zrobił na serwerze żadnego wrażenia i forum założyło nową sesję, tak, jakby żadnego SID w linku nie było?

Rozumiem, że jest to jak najbardziej wskazane zabezpieczenie, więc... jak takie zrobić u siebie? Jak skrypt forum zorientował się, że coś się zmieniło? Czy moduł sterujący sesjami bada za każdym razem zgodność takich cech jak IP klienta, string user-agent?

A wracając do tego, że stała SID - zgodnie z manualem - nie jest pusta przy pierwszym uruchomieniu sesji (przed odświeżeniem)... To nadal nie kumam, jak jednocześnie zabezpieczyć dwie sprawy:
1) nie stracić sesji jesli nie ma cookies
2) nie "wzbogacać" linka SID-em, jeśli cookies są.
Przecież przed odświeżeniem lub przejściem na inną stronę, nie wiadomo czy cookies działają czy nie. Więc nie wiadomo czy trzeba dodawać SID do linka czy nie.
Pomijam tu automatyczne dodawanie SID do linków przez serwer, bo na żadnym serwerze, do którego mam dostęp to nie działa.

Dzięki,

latet

Ten post edytował latet 6.10.2005, 07:45:33
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 11:40