Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Sesja i fukcja session_destroy(), nie usuwa pliku sesji a jedynie czyści jego zawartość
jeremiash
post 7.12.2012, 16:12:47
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 5
Dołączył: 6.11.2012

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


Cześć. Tworzę sesje i podczas wywoływania funkcji session_destroy(), zamiast usunąć plik sesji to jedynie mi go czyści. Jak zrobić, aby wywalało całość?
Go to the top of the page
+Quote Post
s1518
post 7.12.2012, 16:31:29
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 4
Dołączył: 3.12.2012

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


  1. unset($_SESSION['zmienna']);
?
Go to the top of the page
+Quote Post
jeremiash
post 7.12.2012, 16:36:23
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 5
Dołączył: 6.11.2012

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


Cytat(s1518 @ 7.12.2012, 17:31:29 ) *
  1. unset($_SESSION['zmienna']);
?

Z tego co mi wiadomo w ten sposób usuwamy daną zmienną sesyjną a nie sesję. Właśnie po wywołaniu session_destroy() czyści mi/ usuwa wszestkie zmienne sesyjne , ale nie usuwa pliku z identyfikatorem. DOdam, że nie jest to problem przypisania lokalizacji dla sesji, bo wywołuję go do zapisu i usuwania z jednego pliku inicjującego parametry sesji. Jaki więc może być powód ?:/
Go to the top of the page
+Quote Post
Sephirus
post 7.12.2012, 16:38:25
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Nie ma co pisać jak się samemu nie wie.

session_destroy - usuwa wszystkie zmienne sesji - nie usuwa samego pliku bo sesja pozostaje ta sama tylko czysta.

Plik sesji zostanie usunięty gdy zostanie wywołany GC mechanizmu sesji a sesja skojarzona z tym plikiem będzie nieaktualna.

Żeby usunąć plik sesji należałoby po prostu zamiast użyć session_destroy po prostu usunąć ciasteczko z ID sesji a następnie usunąć manualnie plik z katalogu. Katalog w jakim znajdują się pliki znajdziesz dzięki:

  1. echo ini_get('session.save_path');


Sam plik skasujesz poleceniem:
  1. unlink( ini_get('session.save_path') . '/sess_' . session_id());


Oczywiście z odpowiednimi uprawnieniami wink.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
jeremiash
post 7.12.2012, 16:44:26
Post #5





Grupa: Zarejestrowani
Postów: 94
Pomógł: 5
Dołączył: 6.11.2012

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


Cytat(Sephirus @ 7.12.2012, 17:38:25 ) *
Nie ma co pisać jak się samemu nie wie.

właśnie - 's1518' smile.gif

Cytat(Sephirus @ 7.12.2012, 17:38:25 ) *
  1. unlink( ini_get('session.save_path') . '/sess_' . session_id());


Oczywiście z odpowiednimi uprawnieniami wink.gif


Właśnie o to pytałem. Dziękuję Ci bardzo Sephirus. Pozdrawiam

Ten post edytował jeremiash 7.12.2012, 16:44:48
Go to the top of the page
+Quote Post
s1518
post 7.12.2012, 16:50:55
Post #6





Grupa: Zarejestrowani
Postów: 22
Pomógł: 4
Dołączył: 3.12.2012

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


Wybaczcie
Go to the top of the page
+Quote Post

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.07.2025 - 11:34