reklamy

w tym tutorialu dowiesz się, jak tymczasowo przechowywać pewne dane na serwerze przy użyciu sesji PHP.

Co To jest sesja

chociaż można przechowywać dane za pomocą Plików cookie, ale ma pewne problemy z bezpieczeństwem. Ponieważ pliki cookie są przechowywane na komputerze użytkownika, atakujący może łatwo zmodyfikować zawartość pliku cookie, aby wstawić potencjalnie szkodliwe dane do aplikacji, które mogą zepsuć aplikację.,

również za każdym razem, gdy przeglądarka żąda adresu URL do serwera, wszystkie dane cookie dotyczące strony internetowej są automatycznie wysyłane do serwera w ramach żądania. Oznacza to, że jeśli użytkownik zapisał 5 plików cookie w systemie użytkownika, każdy o rozmiarze 4KB, przeglądarka musi przesłać 20KB danych za każdym razem, gdy użytkownik wyświetli stronę, co może wpłynąć na wydajność witryny.

możesz rozwiązać oba te problemy za pomocą sesji PHP. Sesja PHP przechowuje dane na serwerze, a nie na komputerze użytkownika., W środowisku opartym na sesji każdy użytkownik jest identyfikowany za pomocą unikalnego numeru zwanego identyfikatorem sesji lub SID. Ten unikalny identyfikator sesji jest używany do łączenia każdego użytkownika z własnymi informacjami na serwerze, takimi jak e-maile, posty itp.

Wskazówka: identyfikatory sesji są generowane losowo przez silnik PHP, co jest prawie niemożliwe do odgadnięcia. Ponadto, ponieważ dane sesji są przechowywane na serwerze, nie muszą być wysyłane przy każdym żądaniu przeglądarki.,

uruchamianie sesji PHP

zanim będziesz mógł zapisać jakiekolwiek informacje w zmiennych sesji, musisz najpierw uruchomić sesję. Aby rozpocząć nową sesję, wystarczy wywołać funkcję PHP session_start(). Utworzy nową sesję i wygeneruje unikalny identyfikator sesji dla użytkownika.

kod PHP w poniższym przykładzie po prostu uruchamia nową sesję.,

przykład

Pobierz

<?php// Starting sessionsession_start();?>

funkcja session_start() sprawdza najpierw, czy sesja już istnieje, szukając obecności identyfikatora sesji. Jeśli go znajdzie, tzn. jeśli sesja jest już rozpoczęta, to ustawia zmienne sesji, a jeśli nie, to uruchamia nową sesję, tworząc nowy identyfikator sesji.

uwaga: musisz wywołać funkcję session_start() na początku strony tzn., przed jakimkolwiek wyjściem generowanym przez skrypt w przeglądarce, podobnie jak podczas ustawiania plików cookie za pomocą setcookie() funkcja.

przechowywanie i dostęp do danych sesji

możesz przechowywać wszystkie dane sesji jako pary klucz-wartość w tablicy superglobalnej $_SESSION. Dostęp do przechowywanych danych można uzyskać podczas trwania sesji. Rozważ następujący skrypt, który tworzy nową sesję i rejestruje dwie zmienne sesji.,

aby uzyskać dostęp do danych sesji ustawiamy w naszym poprzednim przykładzie z dowolnej innej strony w tej samej domenie internetowej — wystarczy odtworzyć sesję przez wywołanie session_start(), a następnie przekazać odpowiedni klucz do tablicy asocjacyjnej $_SESSION.

kod PHP w powyższym przykładzie generuje następujące wyjście.

cześć, Peter Parker

Uwaga: Aby uzyskać dostęp do danych sesji na tej samej stronie, nie ma potrzeby odtwarzania sesji, ponieważ została ona już uruchomiona na górze strony.,

niszczenie sesji

Jeśli chcesz usunąć określone dane sesji, po prostu Odłącz odpowiedni klucz tablicy asocjacyjnej$_SESSION, jak pokazano w poniższym przykładzie:

jednak, aby całkowicie zniszczyć sesję, po prostu zadzwoń do funkcjisession_destroy(). Ta funkcja nie wymaga żadnego argumentu, a pojedyncze wywołanie niszczy wszystkie dane sesji.,

przykład

Pobierz

<?php// Starting sessionsession_start(); // Destroying sessionsession_destroy();?>

Uwaga: Przed Zniszczeniem sesji za pomocą funkcji session_destroy()należy najpierw odtworzyć środowisko sesji, jeśli jeszcze go nie ma, używając funkcjisession_start(), aby było coś do zniszczenia.

każda sesja PHP ma wartość timeout — czas trwania mierzony w sekundach — który określa, jak długo sesja powinna pozostać żywa w przypadku braku aktywności użytkownika., Możesz dostosować czas trwania limitu zmieniając wartość zmiennej session.gc_maxlifetime w pliku konfiguracyjnym PHP (php.ini).

reklamy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *