![]() |
![]() ![]() |
![]() |
![]()
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ś:
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 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 28.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
U mnie SID jest zawsze pusty i nigdy sie nie wyswietla o ile nie wylacze obslugi cookiesow. Wiec to jest chyba normalne zachowanie, propagowanie SIDa odbywa sie w pierwszej kolejnosci przez cookiesy a dopiero po niepowodzeniu przez adres.
Pozdrawiam Michał |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 2.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(piratt @ 2005-10-04 23:02:00) U mnie SID jest zawsze pusty i nigdy sie nie wyswietla o ile nie wylacze obslugi cookiesow. Wiec to jest chyba normalne zachowanie, propagowanie SIDa odbywa sie w pierwszej kolejnosci przez cookiesy a dopiero po niepowodzeniu przez adres. Pozdrawiam Michał No wlasnie. Powinno być, tak jak piszesz. Ale kurcze u mnie tak nie jest (sprawdzone i na php4 i na php5). Za pierwszym odpaleniem skrytpu SID jest pełny. Więc linki z SID-em, za pierwszym razem, są wzbogacone o ten ciąg. A nie powinny, skoro cookies działają. No i co mam z tym zrobić? Dzięki, latet |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat(latet @ 2005-10-04 23:05:28) 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? może to pomoże (cytat z manuala) : php może to robić 'przezroczyście' jeśli został skompilowany z opcją --enable-trans-sid. Jeśli włączysz tą opcję, względne URI zostaną automatycznie podmienione tak, aby zawierały identyfikator sesji. Możesz także użyć stałej SID która jest definiowana jeśli klient nie wysłał odpowiedniego ciastka. SID jest albo w postaci nazwa_sesji=id_sesji lub pustym stringiem. -------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
![]()
Post
#5
|
|
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 |
|
|
![]()
Post
#6
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
IPB jest ciut rozbudowane
![]() Mianowicie poza SID sprawdza jeszcze przegladarke ip itp (jak ktos poda linka znajomemu zeby nie weszedl na jego dane). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 00:31 |