adbacz
26.03.2012, 13:53:38
Mam problem ze skryptem Uploadify, podczas wysyłania plików tworzy nowa sesję, przez co uniemożliwia mi wysyłanie plików poniewaz użytkownik musi być zalogowany by to zrobić. Jedyne sensowne rozwoązanie jaki mi przyszło do głowy to takie, że będę wysyłał POSTem ID aktualnej sesji, a w aplikacji ustawiał to ID jako ID aktualnej sesji. Co o tym myślicie? Bardzo to niebezpieczne jest? Chodzi mi o to, żeby nikt niepowołany przypadkiem nie dostał dostępu do strony przez takie ustawienie ID sessii.
Sephirus
26.03.2012, 13:58:52
Nie masz się czym przejmować przekazując w ten sposób ID sesji - ono i tak jest wysyłane z ciasteczka i widoczne dla tego kto siedzi przy komputerze. Pamiętaj jedynie, że nie możesz mieć otwartej równolegle sesji w wielu miejscach.
Sesja nie może być uruchomiona jeśli w innym miejscu jest otwarta - w skrypcie uploadu jeśli nie potrzebujesz do niej nic zapisywać to uruchom ją poprzez session_id($id) a następnie od razu zamknij poprzez session_write_close() (tablica $_SESSION będzie miała dane też po zamknięciu).
adbacz
26.03.2012, 14:31:44
Co rozumiesz pod pojęciem, że sesja może byc uruchomiona w dwóch miejscach?
Sephirus
26.03.2012, 14:38:46
Załóżmy że masz jakiś skrypt PHP korzystający z sesji. Dodatkowo wykonywanie tego skryptu trwa przykładowo kilka sekund. I teraz:
ten sam użytkownik (ta sama sesja) odpala w dwóch zakładkach przeglądarki ten skrypt - jaki będzie efekt?
Odpali się jeden skrypt, drugi będzie czekał aż pierwszy się skończy. Po pierwszym dopiero zacznie działać drugi...
Ma to związek z tym, że standardowo sesje w PHP są trzymane w plikach i musi być regulowany dostęp do nich.
Zatem lepiej się zabezpieczyć - bo na przykład ktoś kto będzie uploadował plik nie będzie w tym czasie mógł chodzić w innej zakładce po twojej stronie itd...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.