# Kurs WWW. Lista nr 7 ###### tags: `www20` `pwit` :::info grupa PWit, wtorki 12-14 ::: ## Deklaracje :::info Studenci wypełniają poniższą tabelkę przed rozpoczęciem zajęć. ::: Gotowość rozwiązania zadania należy wyrazić poprzez postawienie X w odpowiedniej kolumnie! Można również wyrazić chęć prezentacji któregoś zadeklarowanych zadań za pomocą znaku ==X== (X na żółtym tle). | | 6.8 | 6.10 | 7.1 | 7.2 | 7.3 | 7.4 | 7.5 | 7.6 | 7.7 | 7.8 | |--------------------------- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | | Kacper Bajkiewicz | | | X | X | X | X | X | | X | | | Jakub Bok | | | x | x | | x | x | | x | | | Kamila Brzozowska | | | x | x | x | | | | | | | Monika Jędrzejkowska | | | | | | | | | | | | Karol Kęciński | | | X | X | | X | X | | X | | | Szymon Kiczak | | | | | | | | | | | | Szymon Kosakowski | | | | X | | | X | X | | | | Denys Lukeniuk | | | ==x== | ==x== | ==x== | x | ==x== | ==x== | | | | Piotr Mańkowski | | | | | | | | | | | | Mateusz Materek | | | X | ==X== | X | | X | | X | | | Sonia Pawluk | | | | | | | | | | | | Patryk Pęczak | | | | | | | | | | | | Bartosz Polaszek | | | X | X | | | | X | | | | Marcin Rogala | | | x | x | | | x | x | x | | | Aleksander Szymański | | | X | X | | X | X | ==X== | | | | Jakub Świgło | | | X | X | | | X | | | | | Nikola Wrona | | | X | X | X | X | X | | X | | Karol Kęciński - lista 5 zad 1, 2 ---------------------------------------------------------------------------------------------------------------------- ## Zadanie 6.8 :::danger Autor: ::: ## Zadanie 6.10 :::danger Autor: ::: ## Zadanie 7.1 :::danger Autor: Denys Lukeniuk ::: [link](https://github.com/FelixKeetch/Studies/blob/master/KursWWW/Lista7/zad7-1-2.php) Z https://www.php.net/manual/en/function.phpinfo.php : Wyświetla dużą ilość informacji o aktualnym stanie PHP. Obejmuje to informacje o opcjach kompilacji i rozszerzeniach PHP, wersji PHP, informacjach o serwerze i środowisku (jeśli jest skompilowane jako moduł), środowisku PHP, informacji o wersji systemu operacyjnego, ścieżkach, wartościach głównych i lokalnych opcji konfiguracyjnych, nagłówkach HTTP i Licencji PHP. Ponieważ każdy system jest konfigurowany inaczej, phpinfo () jest powszechnie używana do sprawdzania ustawień konfiguracji i dostępnych predefiniowanych zmiennych w danym systemie. phpinfo () jest również cennym narzędziem do debugowania, ponieważ zawiera wszystkie dane EGPCS (środowiska, GET, POST, Cookie, Server). Zawiera również wszystkie wartości z $_SERVER. Pojedyncze wartości otrzymamy przy pomocy ``` echo $_SERVER['NAZWA']; ``` ``` //Zwroci nazwę skryptu echo $_SERVER['PHP_SELF']; ``` ``` //Zwroci czas wysłania requestu w ms od 1-1-1970 echo $_SERVER['REQUEST_TIME']; ``` ``` //Zwróci zawartość HOST header echo $_SERVER['HTTP_HOST']; ``` ``` // Zwróci zawartość User-Agent echo $_SERVER['HTTP_USER_AGENT']; ``` ``` //Zwróci imię hosta, z którego użytkownik przegląda stronę echo $_SERVER['REMOTE_HOST']; ``` ## Zadanie 7.2 :::danger Autor: Mateusz Materek ::: ## Zadanie 7.3 :::danger Autor: Kamila Brzozowska ::: ## Zadanie 7.4 :::danger Autor: Jakub Bok ::: ## Zadanie 7.5 :::danger Autor: Jakub Świgło ::: ## Zadanie 7.6 :::danger Autor: Aleksander Szymański ::: Raport: Aleksander Szymański ``` <?php setcookie("sernik", "z czekoladą",time() + 30, "/"); //setcookie("sernik", "lk", "/foo/" ); session_start(); if (isset($_SESSION['page_count'])) { $_SESSION['page_count'] += 1; } else { $_SESSION['page_count'] = 1; } echo 'You are visitor number ' . $_SESSION['page_count']; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Ciasteczka</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style type="text/css"> td, th, body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; } </style> </head> <body> <h3>Wartość ciastka</h3> Ciasteczko: <?php echo $_COOKIE["sernik"]; ?> <br> <?php print_r($_COOKIE); ?> </body> </html> ``` 1) Upewnij się, że ciastko zostało utworzone. Z pierwszą wizytą na stronie, ciastko zostanie dopiero utworzone, a na stronie będzie ostrzeżenie, ponieważ ```<?php echo $_COOKIE["sernik"]; ?>``` w tablicy cookie nie ma jeszcze zmiennej sernik. Z drugą wizytą pokaże nam się napis "Ciasteczko: z czekoladą", gdyż takie ciastko tworzymy w pierwszej linii. 2) Sprawdzić jak ustawienie parametru ```path``` wpływa na tworzenie ciastka. - ```"/"``` - jeżeli tak ustawimy parametr ```path```, to dane ciastko będzie dostępne w każdym podfolderze domeny - ```"/foo/"``` - jeżeli tak ustawimy parametr ```path```, to dane ciastko będzie dostępne tylko w folderze ```foo/``` oraz folderach podrzędnych do rego folderu. 3) Ciastka sesyjne a permanentne. - sesyjne - są przechowywane na urządzeniu użytkownika, aż do wylogowania ze strony, lub wyłączenia przeglądarki. Tworzy się je po prostu nie podając parametru ```expire``` (w powyższym kodzie, tak jak w drugiej linii - nie podaliśmy ```time() + liczba```), bądź podając go równemu 0. - permanentne - sa przechowywane przez określony czas, określony parametrem ```expire```. W podanym przykładzie używamy ```time() + 30```, co oznacza, że ciastko wygaśnie 30 sekund po odwiedzeniu strony. ## Zadanie 7.7 :::danger Autor: Marcin Rogala ::: - session_name() - nadaje sesji i ciasteczku sesyjnemu nazwę - session_start() - startuje sesje i zapisuje ciasteczko - session_regenerate_id() - nadaje sesji nowe id. Pozwala zapobiegać session fixation. Kopiując ciasteczko sesyjne do innej przeglądarki sprawdzamy, że id sesji jest zależne od wartości ciasteczka. Kod z zadania: https://pastebin.com/FDNDdP0p ## Zadanie 7.8 :::danger Autor: :::