Ćwiczenie: JavaScript Cookies (3x45 minut)



Podobne dokumenty
Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Podstawowe informacje na temat usuwania plików cookie dla rożnych typów popularnych przeglądarek internetowych

Okna, ramki i ciasteczka

POLITYKA COOKIES. Definicje. Rodzaje wykorzystywanych Cookies

Cw.12 JAVAScript w dokumentach HTML

elektroniczna Platforma Usług Administracji Publicznej

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Pliki. Operacje na plikach w Pascalu

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Diagnoza Szkolna Pearsona. Instrukcja obsługi

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

Polityka bezpieczeństwa.

Regulaminy. Cookies. Polityka dotycząca Ciasteczek

Windows Server 2008 Standard Str. 1 Ćwiczenia. Opr. JK. I. Instalowanie serwera FTP w Windows Server 2008 (zrzuty ekranowe z maszyny wirtualnej)

Otwieramy zakładkę Prywatność i w linii Program Firefox ustawiamy Będzie używał. Zmiana ustawień cookie w przeglądarce

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Zachęcamy do zapoznania się z Polityką Prywatności naszych serwisów www.

Blockly Kodowanie pomoc.

program TRX

Stosowanie ciasteczek (cookies)

REGULAMIN. Cookies. Co to są ciasteczka?

Polityka prywatności stron BIP Kuratorium Oświaty w Opolu

INSTRUKCJA obsługi certyfikatów

Polityka cookies w serwisie internetowym

Polityka Prywatności

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Sklep internetowy wtspartner.pl dokłada wszelkich starań, aby prowadzony serwis ułatwiał każdemu użytkownikowi

jako integralna część Regionalnego Systemu Informacji Przestrzennej (RSIP)

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Polityka prywatności stron BIP WIJHARS w Opolu

Zmienne i stałe w PHP

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Informujemy, iż wszystkie dane są gromadzone jedynie za Państwa przyzwoleniem.

Dane - pobieranie, przekazywanie i przechowywanie. dr Beata Kuźmińska-Sołśnia

Podstawy JavaScript ćwiczenia

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Ciasteczka. Krishna Tateneni Jost Schenck Polskie tłumaczenie: Suse Polska Aktualny opiekun tłumaczenia: Marcin Kocur

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Cash Flow System Instrukcja

Przewodnik użytkownika (instrukcja) AutoMagicTest

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

II. RODZAJE PLIKÓW COOKIES

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

Zasady programowania Dokumentacja

JAVAScript w dokumentach HTML (1)

Polityka prywatności oraz wykorzystania plików Cookies w serwisie internetowym NEO HOSPITAL

Jak zmienić ustawienia cookies?

Laboratorium - Konfiguracja ustawień przeglądarki w Windows Vista

Polityka Cookies. 1 Definicje. Administrator oznacza przedsiębiorstwo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Polityka prywatności

WOJEWÓDZTWO PODKARPACKIE

Ćw. I. Środowisko sieciowe, połączenie internetowe, opcje internetowe

Mazowiecki Elektroniczny Wniosek Aplikacyjny

Jak wyłączyć pliki cookie w przeglądarce internetowej?

Podstawy Programowania Podstawowa składnia języka C++

Podstawy technologii WWW

Oświadczenie Affidea ws. plików cookie

Student 1. Loguje się do wirtualnego dziekanatu 2. Najlepiej z przeglądarki Mozilla Firefox i musi mieć wyłączone blokowanie wyskakujących okienek.

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Programowanie w językach wysokiego poziomu

XML extensible Markup Language. część 5

Formy dialogowe w środowisku Gnome

Instrukcja wyłączenia cookies w przeglądarce

Pliki cookies. Jaki rodzaj Cookies jest używany? Podczas wizyty na tej stronie używane są następujące pliki Cookies:

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Laboratorium - Konfiguracja ustawień przeglądarki w Windows 7

WinUcz procedura uprzedniego wywozu

Języki skryptowe w programie Plans

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

POLITYKA PLIKÓW "COOKIES"

Programowanie w języku Python. Grażyna Koba

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 5. MessageBox, InputBox, instrukcja Select Case i instrukcje pętli.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

IMPORT ZESTAWIENIA OBROTÓW I SALD

1 Podstawy c++ w pigułce.

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

Ćwiczenie nr 1. Mapa zagrożenia obiektów budowlanych wpływami eksploatacji

System Zdalnej Obsługi Certyfikatów Instrukcja użytkownika

elektroniczna Platforma Usług Administracji Publicznej

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 4. Instrukcja warunkowa.

Państwa dane osobowe przetwarzamy wyłącznie w celu realizacji procesu rezerwacji i świadczenia usług noclegowych w domkach ANCORA.

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Część II Wyświetlanie obrazów

Opcje Fiery1.3 pomoc (serwer)

INSTRUKCJA UŻYTKOWNIKA GENERATORA WNIOSKÓW O DOFINANSOWANIE DLA WNIOSKODAWCÓW

Skrócona instrukcja funkcji logowania

Transkrypt:

Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas. Działanie cookies Gdy odwiedzamy jakąś stronę WWW, serwer może wysłać do przeglądarki tzw. nagłówek HTTP zawierający cookies. Przeglądarka zapamiętuje je i przechowuje przez określony czas, który jest czasem ważności tego cookies określanym przez serwer. Gdy przeglądarka zapamięta cookies przypisane danej stronie WWW, odsyła je przy każdym następnym połączeniu z daną stroną. Używając cookies możemy np. zapamiętywać ustawienia strony specyficzne dla danego użytkownika, dokonywać uwierzytelnienia czy realizować tzw. koszyk na zakupy. Budowa cookie Pojedyncze cookie to ciąg znaków określający nazwę i przypisaną jej wartość oraz dodatkowe parametry. Schematyczna postać: nazwa=wartość;max-age=czas;path=ścieżka;domain=domena;secure; Znaczenie części: nazwa nazwa identyfikująca cookie; wartość wartość danego cookie; czas czas ważności, czas życia w [s] (po tym czasie zostanie usunięte przez przeglądarkę); ścieżka ścieżka dostępu na serwerze, do której zostanie ograniczona cookie; domena określa domenę w której cookie jest dostępne; secure obecność parametru powoduje, że cookie będzie przesyłane jedynie przez bezpieczne połączenia https. Przykład: imie=jan tak określone cookie będzie miało czas życia ograniczony do jednej sesji przeglądarki (zostanie skasowane po jej zamknięciu). max-age=7200 czas życia 2 godziny. path=/ lub nie ma tego parametru cookie będzie dostępne w każdej ścieżce. 1

Podglądanie cookies w przeglądarkach Przeglądarki umożliwiają podejrzenie zebranych cookies. FIREFOX: z menu Narzędzia wybieramy Opcje, a następnie Prywatność. Kliknięcie przycisku Wyświetl ciasteczka spowoduje wyświetlenie zebranych ciasteczek z podziałem na domeny. OPERA: menedżer ciasteczek otwieramy przez wybranie z menu Narzędzia opcji Zaawansowane, a następnie Ciasteczka. Cookies i JavaScript Na zapis i odczyt cookies pozwala właściwość cookie obiektu document. Zawiera ciąg znaków opisujący cookies przypisane danej witrynie. Aby zapisać cookie, należy użyć konstrukcji: document.cookie = nazwa=wartość;max-age=czas;path=ścieżka;domain=domena;secure; ; Jeżeli chcemy zapisać kilka cookies, robimy to za pomocą osobnych instrukcji przypisania. Odczyt cookie: Jeżeli pobierzemy zawartość właściwości cookie, tym samym odczytamy zawartość wszystkich cookies przypisanych witrynie. Odczytany ciąg będzie miał postać: nazwa1=wartosc1; nazwa2=wartosc2;...nazwan=wartosc Jest to zestaw par nazwa-wartosc oddzielonych od siebie znakami średnika i spacji. Każda para opisuje jedno cookie. Wartości pozostałych parametrów nie będą uwzględnione. Jeżeli witryna nie będzie zawierała żadnego cookie, we właściwości cookie obiektu document znajdował się będzie pusty ciąg znaków. W celu pobrania wartości konkretnych cookies należy dokonać analizy ciągu i pobrać podciąg odpowiadający danej wartości. Przykład 1. Zapis i odczyt cookies Gdy na stronie nie ma cookies, skrypt zapisze 2, zawierające losowe liczby, o czasie życia równym 10 sekund w przeciwnym wypadku odczyta wartości zapisane i wyświetli je na stronie. 2

Plik index.html: Plik skrypt.js: 3

Omówienie kodu: Najpierw badamy, czy na stronie są cookies. Robimy to przez porównanie wartości właściwości cookie z pustym ciągiem znaków. Jeśli równość występuje, wykonywane są instrukcje zapisujące cookies w przeglądarce. Za pomocą metody random obiektu Math generowane są dwie losowe wartości, które zapisywane są w dwóch pomocniczych zmiennych (liczba1 i liczba2). Następnie generowany jest ciąg opisujący pierwsze i drugie cookie. Na zakończenie przygotowany jest komunikat informujący o tym, że nie znaleziono cookies, a zatem zostały wygenerowane dwie losowe wartości. Bardziej złożone czynności trzeba wykonać, gdy cookies są obecne i konieczne jest odczytanie ich wartości. Najpierw ciąg opisujący cookies jest przypisywany pomocniczej zmiennej cookiestr i deklarowane są zmienne start i end. Będą one wyznaczały część ciągu (indeksy początkowego i końcowego znaku), który zawiera poszukiwaną wartość. Najpierw chcemy odczytać wartość przypisaną cookie o nazwie liczba1. Sprawdzamy, czy w ciągu cookiestr znajduje się ciąg liczba1=, jeśli tak jest, zapisujemy w zmiennej start indeks tego wystąpienia. Metoda indexof obiektu cookiestr sprawdza, czy w ciągu reprezentowanym przez cookiestr znajduje się ciąg liczba1=. Jeżeli jest różna od 1 ciąg liczba= został znaleziony, są więc wykonywane instrukcje bloku if. Jeśli jest równa 1 ciąg nie został znaleziony czyli nie ma cookie o nazwie liczba1. W takiej sytuacji wykonywany jest blok else, który do zmiennej str dopisuje komunikat o problemie z odczytem pierwszej wartości. W bloku if wyodrębniamy wartość przypisaną cookie liczba1, czyli to, co zaczyna się za ciągiem liczba1= i kończy znakiem średnika lub znakiem końca wiersza. Sprawdzamy czy począwszy od indeksu określonego przez start+8 (ciąg liczba1= ma osiem znaków) występuje znak średnika, jeśli nie występuje wartość przypisana cookie liczba1 kończy się wraz z końcem ciągu cookiestr. Wtedy zmiennej end przypisywana jest długość ciągu cookiestr. Jeżeli znak średnika występuje, nie ma potrzeby wykonywania innych przypisań, gdyż oznacza to koniec ciągu będącego wartością cookie liczba1. Zmienna start zawiera indeks znaku od którego rozpoczyna się wartość ciągu liczba1=, a zmienna end indeks znaku, w którym kończy się poszukiwana przez nas wartość. Używamy metody substring i wartość cookie o nazwie liczba1 jest przypisana do zmiennej pomocniczej wartość. Do pobrania wartości cookie o nazwie liczba2 stosujemy analogiczną metodę. 4

Przy pierwszym wczytaniu skryptu ukaże się widok: Ponieważ nie było żadnych cookies. Jeśli w ciągu 10 sekund ponownie odwiedzimy stronę zobaczymy widok: Przykład 2. Zliczanie liczby odwiedzin w zadanym okresie 30 dni. Plik skrypt.js: 5

Opis funkcji getcookies: Przetwarzanie cookies w ten sposób polega na zebraniu ich w jednym obiekcie w taki sposób, by właściwości tego obiektu odpowiadały nazwom cookies, a wartości właściwości wartościom cookies. Jeżeli document.cookie będzie zawierało ciąg: liczba1=123; liczba2=9876 to obiekt będzie miał dwie właściwości: pierwszą o nazwie liczba1 i wartości 123 oraz drugą o nazwie liczba2 i wartości 9876. Podział na pojedyncze cookie jest dokonywany za pomocą metody split, w ten sposób otrzymujemy tablicę tab zawierającą ciągi o postaci: nazwa=wartość odpowiadające pojedynczym cookies. Następnie tworzony jest obiekt obj, w którym zapisane zostaną nazwy i wartości cookies. Zawartość tablicy tab odczytywana jest w pętli for. Ciąg o powyższej strukturze rozbijany jest na części za pomocą metody split. 6

W wyniku uzyskiwana jest tablica arr, która w pierwszej komórce zawiera nazwę cookie, a w drugiej wartość cookie. Za pomocą instrukcji if badamy czy na pewno tablica arr zawiera dwie komórki. Jeśli nie oznacza to błąd i wykonywana jest instrukcja continue rozpoczynająca kolejny przebieg pętli. Jeśli tak, wykonywana jest instrukcja tworząca nową właściwość obiektu obj. Po zakończeniu pętli obiekt obj jest zwracany jako wynik działania funkcji. Opis skryptu: liczbaodw cookie które będzie przechowywało liczbę wizyt czaszycia okres, w którym mają być zliczane wizyty Wartość zmiennej liczbaodw, która odzwierciedla dotychczasową liczbę odwiedzin pobierana jest przez wywołanie funkcji getcookie, co odbywa się w instrukcji warunkowej (po wykonaniu tej instrukcji zmienna liczbaodw będzie zawierała wartość zapisaną w cookie o takiej samej nazwie o ile takie cookie było obecne w przeglądarce lub też wartość false). Najpierw rozpatrywany jest przypadek drugi (blok if). Zakładamy, że są to pierwsze odwiedziny należy więc zapisać cookie w przeglądarce. Przypadek drugi wymaga użycia większej liczby instrukcji (blok else). Odczytywane dane są ciągiem znaków należy je przekształcić na wartość liczbową. Gdy stwierdzimy, że wartość odczytana z cookie jest błędna, zachowanie skryptu będzie podobne jak w przypadku pierwszych odwiedzin. Następnie tworzone jest cookie, w którym wartość jest zwiększana o jeden i to cookie zapisywane jest w przeglądarce. Każde kolejne odwiedziny będą powodowały zwiększanie wartości zapisanej w cookie o 1. Zadania 1. Przeczytaj uważnie zawartość instrukcji do przykładu 1. 2. Utwórz plik index.html i skrypt.js zgodnie ze wzorem podanym w przykładzie 1. 3. Przeanalizuj działanie skryptu z przykładu 1 czytając uważnie opis jego działania. 4. Powtórz punkty 2 i 3 dla przykładu 2. 5. Napisz skrypt, który umożliwi użytkownikowi wybór ulubionego koloru tła strony i zapamiętaj ten wybór w cookie. Przy każdych kolejnych odwiedzinach tego użytkownika automatycznie zmieniaj kolor strony na wybrany przez niego. 7