![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jak działa w PHP usuwanie plików sesji? Kiedy są usuwane pliki sesyjne i wegług jakich kryteriów? Czy za każdym razem kidy odpalamy jakiś skrypt php sprawdza czas modyfikacji tych plików i usuwa np te starsze niż pół godziny?
Pisze mechanizm sesji oparty o klucz COOKIE i pliki. Nie bardzo mam sie na czym wzorować. W manualu nic nie pisze. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
Polecał bym ci zrobić tak jak wcześniej pisałem w db i odpalać crona (jeśli masz go na serwie) co np 3200 sekund żeby wywalić wiersze które są starsze niż 1600 sekund. a na początku strony umieść kod który będzie aktualizować wiersze (zmieniać w wierszu czas na aktualny). W ten sposób zyszkasz time outy a baza nie będzie zaśmiecona.
PS: Jeśli znasz c to pobierz źrudła parsera php i przeczytaj jak działa funkcja session_start. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Napisałem procedury usuwające pliki sesji. Nie używam bazy danych żeby jej nie obciążać. Czas wykonywania usunięcia niekatywnych plików to tylko 1ms i chyba nie będę z tym duzo kombinował. Myślę ze wykonam ją przy każdym pierwszym wejściu użytkownika na stronę. Czy to dobry pomysł? Crone wydaje się być za dużym problemem bo trzeba go ustawiać zewnętrznie.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
piszesz cmsa?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
jeśli tak to cron odpada może nie na tylko na stronie głównej tylko na wszystkich podstronach. a zaszada usuwania jest taka sama w przypadku plików jak i bazy. ale jeśli ustawisz czas na 1s to ktoś kto przegląda stronę może nie zdążyć kliknąć w link i timeout:) polecam ci jednak ustawic na 1600 albo 3200. ps: nie zapomnij też o weryfikacji przeglądarki, systemu itp. tak jak jest to ze zwykłymi sesjami w php. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie na 1s (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Czas trwania procedury usuwającej niepotrzebne pliki wynosi 1ms (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A usuwać chcę nie na 1 stronei ale za kanym 1 uruchomieniu systemu przez użytkownika. Jeśli ktoś wchodzi na 15 podstron to procedura usuwająca niepotrzebne pliki sesyjne wykona się tylo przy 1 podstronie a później już nie żeby niepotrzebnie nie obciążać systemu.
Cytat ps: nie zapomnij też o weryfikacji przeglądarki, systemu itp. tak jak jest to ze zwykłymi sesjami w php. Co masz na myśli? nie weryfikuje przeglądarki. Jak działa to w php?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
puźniej ci odpowiem bo ide na działkę będę za ok 3200s:)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Przy weryfikacji przeglądarki zmniejszasz ryzyko zdobycia sesji. Teraz nie wystarczy samo pobranie identyfikatora, ale również użycie dokładnie takiej samej przeglądarki, systemu operacyjnego jak ofiara kradzieży.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jest jakiś unikatwy identyfikato przeglądarki który się zazwyczaj używa czy chodzi tylk o wersję no firefox ?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Popróbuj sobie coś takiego pod różnymi przeglądarkami (a także systemami, jeśli masz). Na przykład (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Zawsze możesz się jeszcze zapoznać z taką funkcją: get_browser" title="Zobacz w manualu PHP" target="_manual |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A czy sprawdzać raem z przeglądarka również IP ?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
To zależy już tylko od Ciebie. Jeśli zamierzasz robić coś w stylu "zapamiętaj mnie" to musisz brać pod uwagę ludzi ze zmiennym ip, tak samo przy długim czasie ważności sesji. To już trzeba sobie samemu przekalkulować i przemyśleć pod kątem serwisu jaki tworzysz.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
radził bym ci również zakodować w md5 session_id (numeryczne) wtedy będzie trudniej znaleść inną sesje przy przechwytywaniu.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
nie no jasne. Id sessji musi być zakodowane. Klucze mam mniej więcej takiej postaci: 6f7526eaefda6ef170b56919e222d0c3oJniYe
No dobra. Mam już sesję działającą na plikach.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
chyba tak: jeśli do generowania id sesji masz taki kod: md5(range()) to id może się powtarzać.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
jest bbbbbbbbbbbbbbbbbaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrddddddddddddddddddddddzzzzzzzzzz
zzzzzzzzzzzzzzzzooooooooooooooo małe prawdopodobieństwo ale jednak że ktoś będzie miał fatra i w ciągu tej samej mikto sekundy się zaloguje i wylosuje akurat taki sam kod. polecam sprawdzić czy takie id już nie istnieje. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
heh. Fakt. Może lepiej sprawdzić.
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Z generowaniem i sprawdzaniem dam sobie już radę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) To nie problem jaikiś.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 20:41 |