Jak włączyć sesje w PHP za pomocą plików cookie
- 1915
- 506
- Ignacy Modzelewski
Ciasteczka są w całym życiu codziennym, podczas gdy my przeglądamy Internet. Większość ludzi niewiele by o nich nie wiedziała, gdyby nie dla tych „nasza strona internetowa używa plików cookie do operacji”, które są teraz na każdej stronie od czasu RODO. Ciasteczka mają długą historię, jeśli czasem są dobre, czasem złe. Jak zwykle w przypadku większości aspektów świata, technologię tę można użyć w dobry lub zły sposób.
W tym samouczku będziemy nieco zbadać pliki cookie z perspektywy programowania po stronie serwera: stworzymy przykładowe plik cookie w PHP i zapiszemy w nim wybraną nazwę użytkownika odwiedzającego. Cookie będzie znajdować się w przeglądarce gościa, więc podczas następnej wizyty możemy go przeczytać i użyć, aby powitać odwiedzającego przesłaną.
Nasza prosta strona internetowa rozpozna gościa, o ile plik cookie jest obecny w przeglądarce. Nie przechowujemy żadnych informacji po stronie serwera: jeśli odwiedzający najpierw odpowiada z komputera, a następnym razem ze smartfona nie będziemy wiedzieć, że to ta sama osoba. Jest to jeden z głównych punktów z plikami cookie: możemy zidentyfikować tylko danego klienta i tylko tak długo, jak dane są dostarczane przez tę konkretną przeglądarkę.
W tym samouczku nauczysz się:
- Jak skonfigurować środowisko testowe
- Jak napisać prosty przykładowy program, który używa plików cookie
- Jak przetestować funkcjonowanie programu
- Jak zresetować środowisko
Zastosowane wymagania i konwencje oprogramowania
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Ubuntu 20.04 LTS |
Oprogramowanie | PHP 7.2, Firefox 74.0 |
Inny | Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda. |
Konwencje | # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny |
Ustawić
Nasze środowisko testowe składa się z serwera Apache, z załadowanym modułem PHP. W naszej konfiguracji używamy Ubuntu 20.04 LTS, ale zrobiłby to każda ostatnia dystrybucja. Na Ubuntu potrzebujemy tylko Apache2
I php
:
$ sudo apt-get instaluj apache2 $ sudo apt-get instaluj php
Potrzebujemy również obsługi WebServer, aby dotrzeć do naszej przykładowej strony z przeglądarką:
$ sudo systemctl restart apache2
Potrzebujemy również najnowszej przeglądarki z włączonymi plikami cookie. W tym samouczku wykorzystuje najnowszy Firefox; Jeśli masz rozszerzenia, takie jak NoScript, wyłącz go lub włącz pliki cookie z testowego serwera internetowego podczas testowania.
Kod
Rozważ kod źródłowy naszej przykładowej strony PHP jako następujące:
Powitanie, " . $ nazwa użytkownika . "!\ n "; if ($ ask_to_store) echo"Jeśli chcesz ustawić nazwę użytkownika, abyśmy mogli cię powitać, wprowadź ją do poniższego formularza i prześlij swoje żądanie.
\ n "; echo" \ n "; echo" \ n "; echo" \ n "; echo" \ n "; else echo"Cieszymy się, że możemy cię powitać po imieniu.
\N"; ?>
Kopiuj Umieściliśmy ten kod w pliku o nazwie page_with_cookies.php
, i umieść go na naszych testowych stronach internetowych php
informator. Dlatego będziemy mogli dotrzeć do przeglądarki określającej adres URL w następujący sposób: http: /// php/page_with_cookies.php
. Zobaczymy, co robi ten kod w następujących krokach.
Zrozumienie, jak działa strona internetowa
Naszym następnym krokiem jest sprawdzenie, czy nasza strona jest poprawnie ładowana. Wskazujemy naszą przeglądarkę na stronę i pojawia się prosty formularz. 192.168.1.2 to adres IP serwera WebServer w środowisku testowym, jeśli obserwujesz, powinieneś zmienić go na adres lub nazwę DNS serwera, na którym umieszczasz ten kod.
Podczas pierwszej wizyty strona nie będzie wiedziała, kim jesteśmy, więc przywita nas jako „nieznanego gościa”. Ta nazwa określiliśmy w sekcji kodu, Linia 4
, A ponieważ w przeglądarce nie ma jeszcze plików cookie, wartość zmiennej nie jest zastępowana przez rzeczywistą nazwę użytkownika. Wykrywamy, że nie ma ustawionych plików cookie Linia 6
, a także nie jest to żądanie, które zawiera
faktyczna nazwa użytkownika przedłożona przez gościa (Linia 7
). Jest to stan, w którym wyświetlamy formularz, który pozwala odwiedzającemu przesłać nazwę użytkownika. Jest to określone przez boolean
zmienna przy Linia 8
.
Teraz możemy wypełnić pole wejściowe dostarczone w formularzu (generowanym przez kod Linia 16-21
). W tym przykładzie użyjemy „Foo Bar”.
Po trafieniu strona witają się według nazwy użytkownika, którą wysłamy.
Nazwa użytkownika rozpoznana przez stronę.Do tej pory nie jest to magia, przeczytaliśmy dane przesłane w żądaniu postu, odpowiednio ustawili nazwę użytkownika i użyliśmy go do powitania gościa. Ale ustawiliśmy również ciasteczko (Linia 11
) na miejscu, który przechowuje dane podane w przeglądarce. Jeśli ponownie otworzymy stronę (która jest kolejną prośbą, w której nie opublikowaliśmy żadnych informacji o nazwie użytkownika), zostaniemy również powitani przez ustawioną nazwę użytkownika, o ile pliki cookie pozostanie w przeglądarce. Formularz, który umożliwia przesłanie nazwy użytkownika, nie jest również pokazany na nowej stronie, ponieważ jesteśmy „fałszywymi” gałęziami Jeśli
stwierdzenie wLinia 16
.
Jak zresetować środowisko
Aby wyczyścić stan przeglądarki, możemy z niego wyrzucić ciasteczko. W Firefox 74.0 Można go znaleźć w Preferencjach -> Prywatność i bezpieczeństwo -> pliki cookie i dane witryny -> Zarządzaj danymi…
Clearing Cookie na stronie w Firefox.W druku poszukujemy adresu IP testowania serwera internetowego, ponieważ dotarliśmy do witryny według adresu IP. Udostając „Usuń wybrane”, niż „Zapisz zmiany” finalizujemy usunięcie pliku cookie, które strona umieszczona w naszej przeglądarce.
Jeśli ponownie odwiedzimy stronę, pierwotne anonimowe powitanie będzie nas poczekać, z formularzem do przesłania nazwy użytkownika. Witryna nie przechowywała żadnych danych i bez pliku cookie nie wie, kim jesteśmy.
Wniosek
Ten samouczek zamierzał zrozumieć, jak działają pliki cookie. Możemy przechowywać z nimi informacje w przeglądarce gościa, aby zidentyfikować daną instancję klienta, który przegląda naszą witrynę.
Ustawienie ich jest proste, jednak istnieje wiele ograniczeń do rozważenia: jeśli użytkownik wyczyści pliki cookie lub wcale nie akceptuje, funkcjonalność oparta na nich pęknie. Inna najważniejsza rzecz, o której należy pamiętać, że plik cookie jest powiązany z instancją przeglądarki, więc jeśli ten sam użytkownik otworzy inną przeglądarkę na tym samym komputerze, powiedz Chrome, pliki cookie, że gdzie umieszczone w Firefox nie będzie widoczne.
Powiązane samouczki Linux:
- Jak zarządzać historią Bash
- Jak sprawdzić żywotność baterii na Ubuntu
- Linux Apache Nie wykonywanie plików PHP: Rozwiązanie
- Jak zainstalować PHP na Ubuntu Linux
- Jak utworzyć stos lampy na bazie Dockera za pomocą Dockera na…
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Jak testować połączenie internetowe w Linux
- Jak stworzyć phpinfo.Strona PHP
- Jak wyczyścić pamięć podręczną Firefox na Linux
- Instalacja OpenLitespeed WordPress
- « Rzeczy do zainstalowania na Ubuntu 20.04
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux »