[php] pliki sesji

0

Mam pytanie jak długo są przechowywane na serwerze pliki sesji? Zmieniłem za pomocą funkcji

session_save_path()

folder z sesjami (ponieważ do macierzystego folderu miałem zablokowany dostęp z poziomu skryptu) i za pomocą funkcji session_cache_expire()

 ustawiłem czas na pół minuty (wpisałem 0.5 jako parametetr, a nie 30, wiem, że tam czas podaje się w minutach). I jak patrzę po jakimś czasie w kliencie ftp (odświeżyłem oczywiście widok, ponieważ zdaję sobie sprawę z tego, że klient ftp pokazuje listę plików, którą ostatnio pobrał, a nie stan faktyczny) te pliki tam cały czas są, nie są usuwane. Wiem, że te pliki nie zajmują dużo miejsca na serwerze (w moim przykładzie przypisałem tylko jedną zmienną i taki plik zajmuje 14 bajtów), ale zastanawiam się po co miałbym je tam cały czas trzymać. Zastanawiam się teraz, czy nie zrobić w kodzie strony (podzieliłem sobie wszystko na warstwy mvc) w zdarzeniu wywoływanym na samym początku kodu usuwania plików (których czas czas ostatniej modyfikacji jest np. starszy niż czas przez jaki ja bym chciał przechowywać sesje). Aha, proszę jeszcze (jeśli nie jest to dla was problem) o podanie jakiejś stronki na której jest ładnie wyjaśnione zagadnienie bezpieczeństwa sesji i jak je łączyć z plikami cookie.
0

mozesz kasowac pliki np losowo co 100 odswiezen (losowo - co by nie robic operacji odczytu/zapisu na dysku).
kasowanie co odświeżenie to dodatkowa zamułka - przeglad listy plikow i sprawdzenie daty. to tak jak już zalezy Ci na tych paru KB wiecej to i pewnie na CPU/czasie generowania :P

0

Wpisałeś 0.5 jako parametr, a wartość konfiguracyjna jaką modyfikujesz to int. Albo nie zmieni się ona w ogóle, albo na 0.

0

Inty w PHP są signed, więc nie wiadomo jak zareaguje.

0

No dobra, a znacie jakąś stronę gdzie jest wszystko co jest związane z sesjami i bezpieczeństwem w tej kwestii dobrze wyjaśnione? Mam książkę PHP i MySql. Vademecum profesjonalisty, ale niestety nie mam jej pod ręką i raczej nie będę miał do niej dostępu w najbliższym czasie (pracuję w Warszawie, ale na święta wracam do domu rodzinnego).

0
Demonical Monk napisał(a)

Inty w PHP są signed, więc nie wiadomo jak zareaguje.

A co ma jedno do drugiego? Jeżeli w dokumentacji danej zmiennej konfiguracyjnej jest napisane, że jest typu int, to znaczy, że wartość jest przechowywana w zwykłym "long" z C, zamieniana przez strtol.

1 użytkowników online, w tym zalogowanych: 0, gości: 1