Deprecated: Creation of dynamic property Automattic\Jetpack\WP_JS_Data_Sync\Data_Sync::$namespace is deprecated in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack-boost/jetpack_vendor/automattic/jetpack-wp-js-data-sync/src/class-data-sync.php on line 91

Deprecated: Creation of dynamic property Automattic\Jetpack_Boost\Features\Speed_Score\Speed_Score::$modules is deprecated in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack-boost/app/features/speed-score/Speed_Score.php on line 20

Deprecated: Creation of dynamic property Jetpack_Publicize::$modules is deprecated in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack/modules/publicize.php on line 38

Deprecated: Creation of dynamic property Automattic\Jetpack\Publicize\Publicize_UI::$in_jetpack is deprecated in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack/modules/publicize.php on line 101

Deprecated: Creation of dynamic property JQueryColorbox::$colorboxSettings is deprecated in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jquery-colorbox/jquery-colorbox.php on line 93

Deprecated: Creation of dynamic property JQueryColorbox::$colorboxThemes is deprecated in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jquery-colorbox/jquery-colorbox.php on line 97

Deprecated: Creation of dynamic property JQueryColorbox::$colorboxUnits is deprecated in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jquery-colorbox/jquery-colorbox.php on line 121

Deprecated: Creation of dynamic property JQueryColorbox::$colorboxTransitions is deprecated in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jquery-colorbox/jquery-colorbox.php on line 127

Warning: Cannot modify header information - headers already sent by (output started at /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack-boost/jetpack_vendor/automattic/jetpack-wp-js-data-sync/src/class-data-sync.php:91) in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-includes/rest-api/class-wp-rest-server.php on line 1768

Warning: Cannot modify header information - headers already sent by (output started at /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack-boost/jetpack_vendor/automattic/jetpack-wp-js-data-sync/src/class-data-sync.php:91) in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-includes/rest-api/class-wp-rest-server.php on line 1768

Warning: Cannot modify header information - headers already sent by (output started at /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack-boost/jetpack_vendor/automattic/jetpack-wp-js-data-sync/src/class-data-sync.php:91) in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-includes/rest-api/class-wp-rest-server.php on line 1768

Warning: Cannot modify header information - headers already sent by (output started at /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack-boost/jetpack_vendor/automattic/jetpack-wp-js-data-sync/src/class-data-sync.php:91) in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-includes/rest-api/class-wp-rest-server.php on line 1768

Warning: Cannot modify header information - headers already sent by (output started at /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack-boost/jetpack_vendor/automattic/jetpack-wp-js-data-sync/src/class-data-sync.php:91) in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-includes/rest-api/class-wp-rest-server.php on line 1768

Warning: Cannot modify header information - headers already sent by (output started at /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack-boost/jetpack_vendor/automattic/jetpack-wp-js-data-sync/src/class-data-sync.php:91) in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-includes/rest-api/class-wp-rest-server.php on line 1768

Warning: Cannot modify header information - headers already sent by (output started at /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack-boost/jetpack_vendor/automattic/jetpack-wp-js-data-sync/src/class-data-sync.php:91) in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-includes/rest-api/class-wp-rest-server.php on line 1768

Warning: Cannot modify header information - headers already sent by (output started at /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-content/plugins/jetpack-boost/jetpack_vendor/automattic/jetpack-wp-js-data-sync/src/class-data-sync.php:91) in /home/owl_piotrek/blog.piotr.rybaltowski.pl/wp-includes/rest-api/class-wp-rest-server.php on line 1768
{"id":873,"date":"2013-04-15T12:41:26","date_gmt":"2013-04-15T10:41:26","guid":{"rendered":"http:\/\/blog.piotr.rybaltowski.pl\/?p=873"},"modified":"2013-04-15T18:33:01","modified_gmt":"2013-04-15T16:33:01","slug":"cookies","status":"publish","type":"post","link":"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/","title":{"rendered":"Cookies, technicznie i o zmianach w ustawie"},"content":{"rendered":"

W ostatnich tygodniach bardzo du\u017co si\u0119 dzieje w Internecie wok\u00f3\u0142 cookies<\/em> (czyli tzw. ciasteczek). Wszystko za spraw\u0105 nowelizacji ustawy, kt\u00f3ra powoduje, \u017ce autorzy witryn, kt\u00f3re cookies<\/em> wykorzystuj\u0105, musz\u0105 o tym poinformowa\u0107 swoich u\u017cytkownik\u00f3w. Ale co to s\u0105 ciasteczka,\u00a0co ze sob\u0105 nios\u0105 i o co chodzi z t\u0105 ustaw\u0105? O tym poni\u017cej.<\/p>\n

HTTP i cookies<\/em><\/h3>\n

Internet opiera si\u0119 w du\u017cej mierze o protok\u00f3\u0142 HTTP. Komunikacja ze stron\u0105 internetow\u0105 przebiega w skr\u00f3cie w taki spos\u00f3b:<\/p>\n

    \n
  1. Przegl\u0105darka (lub inne oprogramowanie) wysy\u0142a \u017c\u0105danie do serwera WWW, kt\u00f3re zawiera nag\u0142\u00f3wki (informacje o tym co jest \u017c\u0105dane, o przegl\u0105darce, o u\u017cytkowniku, itp.) oraz opcjonaln\u0105 tre\u015b\u0107 (czyli np. dane wysy\u0142ane z formularza).<\/span><\/li>\n
  2. Serwer interpretuje takie zapytanie i w zale\u017cno\u015bci od zawarto\u015bci przygotowuje odpowied\u017a, np. w postaci dokumentu HTML.<\/li>\n
  3. Odpowied\u017a wysy\u0142ana jest z powrotem do przegl\u0105darki r\u00f3wnie\u017c w postaci nag\u0142\u00f3wk\u00f3w (informacje o zawarto\u015bci) oraz samej tre\u015bci odpowiedzi przygotowanej wcze\u015bniej.<\/li>\n
  4. Przegl\u0105darka po otrzymaniu odpowiedzi interpretuje j\u0105 i w odpowiedni spos\u00f3b prezentuje u\u017cytkownikowi. Je\u017celi to jest strona WWW, kt\u00f3ra zawiera odno\u015bniki do obrazk\u00f3w i innych plik\u00f3w, do ka\u017cdego z nich wysy\u0142ane jest kolejne \u017c\u0105danie do serwera WWW.<\/li>\n<\/ol>\n

    Gdzie w tym wszystkim znajduj\u0105 si\u0119 cookies<\/em>? W cz\u0119\u015bci nag\u0142\u00f3wkowej \u017c\u0105dania i odpowiedzi. Je\u017celi serwis WWW chce, aby przegl\u0105darka zapisa\u0142a informacje w swojej pami\u0119ci i przekaza\u0142a je w kolejnych \u017c\u0105daniach z powrotem do serwisu, instrukcje wysy\u0142a jako nag\u0142\u00f3wek (Set-Cookie<\/em>), kt\u00f3ry zawiera dla ka\u017cdego ciastka nazw\u0119, zawarto\u015b\u0107 oraz opcjonalnie czas wa\u017cno\u015bci (lub „do ko\u0144ca sesji”) i zakres widoczno\u015bci (domena, \u015bcie\u017cka, protok\u00f3\u0142, szyfrowanie). Przegl\u0105darka zapisuje te informacje w dowolny przewidziany przez jej tw\u00f3rc\u00f3w spos\u00f3b oraz wysy\u0142a, r\u00f3wnie\u017c poprzez nag\u0142\u00f3wki (Cookie<\/em>)\u00a0nazwy i tre\u015bci ciastek. I to jest wszystko je\u017celi chodzi o technologi\u0119.<\/p>\n

    \"Nag\u0142\u00f3wki<\/a><\/p>\n

    Do czego s\u0142u\u017c\u0105\u00a0cookies<\/em><\/h3>\n

    Jak wida\u0107 wy\u017cej, przegl\u0105danie stron WWW to seria \u017c\u0105da\u0144 i odpowiedzi pomi\u0119dzy przegl\u0105dark\u0105 na urz\u0105dzeniu dost\u0119powym u\u017cytkownika, a serwerem WWW. Przy takiej konstrukcji nie ma mo\u017cliwo\u015bci (poza np. umieszczaniem tej informacji w adresie ka\u017cdej kolejnej strony co by\u0142oby bardzo uci\u0105\u017cliwe) rozpoznania czy dany u\u017cytkownik wchodz\u0105cy na stron\u0105 to jest ten sam, kt\u00f3ry by\u0142 na niej przed chwil\u0105, czy ju\u017c nowy.<\/p>\n

    Pierwszy bardzo wa\u017cny przyk\u0142ad u\u017cycia to logowanie do serwisu. U\u017cytkownik podaje nazw\u0119 u\u017cytkownika i has\u0142o, i je\u017celi by\u0142y one prawid\u0142owe, z ciastkiem u\u017cytkownika na serwerze powi\u0105zana zostaje informacja, kt\u00f3ra pozwala przy kolejnym wej\u015bciu na stron\u0119 uznanie u\u017cytkownika za zalogowanego. Drugie popularne wykorzystanie to statystyki. Ka\u017cdy, kto chocia\u017c troch\u0119 przegl\u0105da\u0142 statystyki stron WWW, zapewne spotka\u0142 si\u0119 z dwoma has\u0142ami – unikalni u\u017cytkownicy (unique visitors<\/em>) i\u00a0ods\u0142ony (pageviews<\/em>). Przy pierwszym wej\u015bciu na stron\u0119, u\u017cytkownik jest liczony jako unikalny oraz zliczana jest ods\u0142ona. Dodatkowo wys\u0142ana zostaje informacja o ciastku. Je\u015bli u\u017cytkownik wraca z ciastkiem, nie jest ju\u017c unikalnym u\u017cytkownikiem i liczone s\u0105 tylko ods\u0142ony.<\/p>\n

    Czym\u00a0cookies<\/em> nie s\u0105<\/h3>\n

    Cookies<\/em> cz\u0119sto s\u0105 mylnie okre\u015blane jako pliki, a przecie\u017c nie musz\u0105 by\u0107 plikami. Mechanizm ich przechowywania le\u017cy w gestii (tw\u00f3rc\u00f3w) przegl\u0105darki. Bardzo cz\u0119sto jest to wewn\u0119trzny system bazodanowy, gdzie ciasteczka nie maj\u0105 z systemem plik\u00f3w niczego wsp\u00f3lnego.<\/p>\n

    Ciasteczkami nie da si\u0119 przes\u0142a\u0107 \u017cadnych wirus\u00f3w, co te\u017c jest (by\u0142o?) do\u015b\u0107 popularnym mitem. Ciasteczka, jak pisa\u0142em wy\u017cej, to tylko i wy\u0142\u0105cznie dane tekstowe przypisane do nazwy i adresu strony. Ci\u0119\u017cko sobie wyobrazi\u0107 kawa\u0142ek tekstu b\u0119d\u0105cy wirusem.<\/p>\n

    Mo\u017cliwo\u015b\u0107 \u015bledzenia u\u017cytkownika za pomoc\u0105 ciasteczek te\u017c jest do\u015b\u0107 ograniczona. Zabezpieczenia przegl\u0105darek przed tym, aby ciasteczka by\u0142y odczytywane przez niepowo\u0142an\u0105 stron\u0119 s\u0105 coraz lepsze, a wi\u0119c u\u017cytkownicy s\u0105 coraz bardziej bezpieczni.<\/p>\n

    Potencjalne zagro\u017cenia<\/h3>\n

    Same\u00a0cookies<\/em> w mojej ocenie nie nios\u0105 za sob\u0105 praktycznie \u017cadnych zagro\u017ce\u0144. Problemem mo\u017ce by\u0107 ich implementacja w serwisach WWW. Bardzo cz\u0119sto takie aplikacje ufaj\u0105 bezgranicznie informacji zawartej w ciastku zawieraj\u0105cym ID sesji. Mimo, \u017ce np. w PHP<\/a> domy\u015blnie liczba r\u00f3\u017cnych ID sesji ma oko\u0142o 50 cyfr i jej zgadni\u0119cie jest\u00a0trudne, to przechwycenie ju\u017c jest wzgl\u0119dnie \u0142atwe. „Wystarczy” pods\u0142ucha\u0107 jedno \u017c\u0105danie zalogowanego u\u017cytkownika. Dlatego serwisy internetowe powinny stosowa\u0107 dodatkowe zabezpieczenia w postaci szyfrowania (HTTPS<\/em>) albo sprawdzania innych danych u\u017cytkownika.<\/p>\n

    Innym zagro\u017ceniem, tym bardziej zale\u017cnym od implementacji, jest spos\u00f3b wykorzystania danych z ciastek. Dane te traktowane s\u0105 w aplikacjach podobnie jak inne formy zapytania (POST<\/em>, parametry URL), dlatego dotycz\u0105 ich wszystkie zagro\u017cenia typu XSS<\/em>, SQL injection<\/em>, itp.<\/p>\n

    Ustawa o zmianie ustawy<\/h3>\n

    Ustawa tak popularna ostatnio w Internecie w kontek\u015bcie cookies<\/em>\u00a0to\u00a0Ustawa z dnia 16 lipca 2004 r. Prawo telekomunikacyjne<\/em>, a przede wszystkim jej artyku\u0142 173. Ust\u0119p 1 m\u00f3wi o przychowywaniu i odczytywaniu informacji przechowywanych w przegl\u0105darkach („telekomunikacyjnym urz\u0105dzeniu ko\u0144cowym”), ust\u0119p 3 wy\u0142\u0105cza sytuacje, kiedy us\u0142uga by\u0142a \u017c\u0105dana przez u\u017cytkownika. Interpretacja tego zapisu mo\u017ce by\u0107 r\u00f3\u017cna, ale raczej jasno wynika z tego, \u017ce nie trzeba informowa\u0107 zawsze i ka\u017cdego. W szczeg\u00f3lno\u015bci, je\u017celi nasza aplikacja u\u017cywa ciasteczek do zapisania informacji o zalogowanym u\u017cytkowniku, to wyra\u017anie jest to na jego \u017c\u0105danie oraz jest konieczne do dzia\u0142ania aplikacji. Co innego\u00a0cookies<\/em> u\u017cywane do zliczania statystyk, przede wszystkim tych, wystawianych przez aplikacje zewn\u0119trzne (jak Google Analytics albo Piwik<\/a>). Je\u017celi na stronie umieszczone s\u0105 tego typu skrypty, ostrzega\u0107 raczej nale\u017cy.<\/p>\n

    Spos\u00f3b ostrzegania nie zosta\u0142 jednak opisany (okre\u015blenia „bezpo\u015brednio”, „w spos\u00f3b jasny, \u0142atwy i zrozumia\u0142y” s\u0105 bardzo nieostre), dlatego w\u0142a\u015bciciele stron maj\u0105 tutaj du\u017co mo\u017cliwo\u015bci interpretacji. Wiele serwis\u00f3w decyduje si\u0119 na wyra\u017anie wydzielone z grafiki strony ostrze\u017cenie w g\u00f3rnej cz\u0119\u015bci serwisu. Czasem ograniczaj\u0105 si\u0119 do kr\u00f3tkiej notki, np. w stopce. Ale na pewno nie polecam tego, co na swojej stronie zrobi\u0142o UPC, czyli blokowanie ca\u0142ej strony (okno modalne) dop\u00f3ki u\u017cytkownik nie potwierdzi, \u017ce przeczyta\u0142 informacj\u0119:<\/p>\n

    \"Ostrze\u017cenie<\/a><\/p>\n

    Moje zaniepokojenie budzi r\u00f3wnie\u017c nieprecyzyjny opis tego, o czym nale\u017cy ostrzega\u0107. „Przechowywanie informacji lub uzyskiwanie dost\u0119pu do informacji ju\u017c przechowywanej w telekomunikacyjnym urz\u0105dzeniu ko\u0144cowym abonenta lub u\u017cytkownika ko\u0144cowego”. Domy\u015blnie jest to rozumiane jako pliki cookie, ale tak naprawd\u0119 wszystko, co wyst\u0119puje na stronach WWW mo\u017ce by\u0107 obj\u0119te tak\u0105 definicj\u0105. Obrazki, arkusze CSS, skrypt JavaScript – to wszystko mo\u017ce by\u0107 przecie\u017c zachowane w pami\u0119ci cache przegl\u0105darki, a potem odczytywane i przetwarzane przez serwis. Czy to by oznacza\u0142o, \u017ce u\u017cytkownicy powinni by\u0107 ostrzegani, \u017ce „na naszej stronie wykorzystujemy obrazki”? A co z innymi technologiami? Aplikacje JavaScriptowe dane o sesji mog\u0105 przechowywa\u0107 w Web Storage (technologia przechowywania danych z HTML5) i w og\u00f3le nie u\u017cywa\u0107 ciastek, a zachowa\u0107 wszystkie funkcjonalno\u015bci (\u0142\u0105cznie ze „\u015bledzeniem” u\u017cytkownik\u00f3w).<\/p>\n

    Niestety, ustawa jest nieprecyzyjna, niedok\u0142adna, \u015bciganie jest nieokre\u015blone, a mimo wszystko jej stosowanie w serwisach WWW jest w mojej ocenie nieadekwatnie powszechne i inwazyjne.<\/p>\n

    Autorzy zdj\u0119\u0107 wykorzystanych we wpisie:\u00a0Kimberly Vardeman<\/a> i\u00a0Robyn Lee<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"

    W ostatnich tygodniach bardzo du\u017co si\u0119 dzieje w Internecie wok\u00f3\u0142 cookies (czyli tzw. ciasteczek). Wszystko za spraw\u0105 nowelizacji ustawy, kt\u00f3ra powoduje, \u017ce autorzy witryn, kt\u00f3re cookies wykorzystuj\u0105, musz\u0105 o tym poinformowa\u0107 swoich u\u017cytkownik\u00f3w. Ale co to s\u0105 ciasteczka, co ze sob\u0105 nios\u0105 i o co chodzi z t\u0105 ustaw\u0105?<\/p>\n","protected":false},"author":1,"featured_media":923,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[81,10,11],"tags":[61,82,62,83],"jetpack_publicize_connections":[],"yoast_head":"\nCookies, technicznie i o zmianach w ustawie<\/title>\n<meta name=\"description\" content=\"W ostatnich tygodniach du\u017co si\u0119 dzieje w Internecie wok\u00f3\u0142 cookies (czyli tzw. ciasteczek). Co to s\u0105 ciasteczka, co ze sob\u0105 nios\u0105 i o co chodzi z t\u0105 ustaw\u0105?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cookies, technicznie i o zmianach w ustawie\" \/>\n<meta property=\"og:description\" content=\"W ostatnich tygodniach du\u017co si\u0119 dzieje w Internecie wok\u00f3\u0142 cookies (czyli tzw. ciasteczek). Co to s\u0105 ciasteczka, co ze sob\u0105 nios\u0105 i o co chodzi z t\u0105 ustaw\u0105?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/\" \/>\n<meta property=\"og:site_name\" content=\"Piotr Ryba\u0142towski\" \/>\n<meta property=\"article:published_time\" content=\"2013-04-15T10:41:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-04-15T16:33:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/blog.piotr.rybaltowski.pl\/wp-content\/uploads\/2013\/04\/single-cookie-sweet.jpg?fit=190%2C190&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"190\" \/>\n\t<meta property=\"og:image:height\" content=\"190\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Piotr Ryba\u0142towski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@prybaltowski\" \/>\n<meta name=\"twitter:site\" content=\"@prybaltowski\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Piotr Ryba\u0142towski\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/\",\"url\":\"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/\",\"name\":\"Cookies, technicznie i o zmianach w ustawie\",\"isPartOf\":{\"@id\":\"https:\/\/blog.piotr.rybaltowski.pl\/#website\"},\"datePublished\":\"2013-04-15T10:41:26+00:00\",\"dateModified\":\"2013-04-15T16:33:01+00:00\",\"author\":{\"@id\":\"https:\/\/blog.piotr.rybaltowski.pl\/#\/schema\/person\/83a30be3ae1b549124de4ba1aadb7338\"},\"description\":\"W ostatnich tygodniach du\u017co si\u0119 dzieje w Internecie wok\u00f3\u0142 cookies (czyli tzw. ciasteczek). Co to s\u0105 ciasteczka, co ze sob\u0105 nios\u0105 i o co chodzi z t\u0105 ustaw\u0105?\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/blog.piotr.rybaltowski.pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bezpiecze\u0144stwo\",\"item\":\"https:\/\/blog.piotr.rybaltowski.pl\/kategoria\/bezpieczenstwo\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cookies, technicznie i o zmianach w ustawie\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.piotr.rybaltowski.pl\/#website\",\"url\":\"https:\/\/blog.piotr.rybaltowski.pl\/\",\"name\":\"Piotr Ryba\u0142towski\",\"description\":\"Programista PHP, Symfony\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.piotr.rybaltowski.pl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.piotr.rybaltowski.pl\/#\/schema\/person\/83a30be3ae1b549124de4ba1aadb7338\",\"name\":\"Piotr Ryba\u0142towski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/blog.piotr.rybaltowski.pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a4d8f9da3bba9f9c09eab549d2baa674?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a4d8f9da3bba9f9c09eab549d2baa674?s=96&d=wavatar&r=g\",\"caption\":\"Piotr Ryba\u0142towski\"},\"sameAs\":[\"http:\/\/www.piotr.rybaltowski.pl\/\",\"https:\/\/twitter.com\/prybaltowski\"],\"url\":\"https:\/\/blog.piotr.rybaltowski.pl\/author\/piotr\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cookies, technicznie i o zmianach w ustawie","description":"W ostatnich tygodniach du\u017co si\u0119 dzieje w Internecie wok\u00f3\u0142 cookies (czyli tzw. ciasteczek). Co to s\u0105 ciasteczka, co ze sob\u0105 nios\u0105 i o co chodzi z t\u0105 ustaw\u0105?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/","og_locale":"pl_PL","og_type":"article","og_title":"Cookies, technicznie i o zmianach w ustawie","og_description":"W ostatnich tygodniach du\u017co si\u0119 dzieje w Internecie wok\u00f3\u0142 cookies (czyli tzw. ciasteczek). Co to s\u0105 ciasteczka, co ze sob\u0105 nios\u0105 i o co chodzi z t\u0105 ustaw\u0105?","og_url":"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/","og_site_name":"Piotr Ryba\u0142towski","article_published_time":"2013-04-15T10:41:26+00:00","article_modified_time":"2013-04-15T16:33:01+00:00","og_image":[{"width":190,"height":190,"url":"https:\/\/i0.wp.com\/blog.piotr.rybaltowski.pl\/wp-content\/uploads\/2013\/04\/single-cookie-sweet.jpg?fit=190%2C190&ssl=1","type":"image\/jpeg"}],"author":"Piotr Ryba\u0142towski","twitter_card":"summary_large_image","twitter_creator":"@prybaltowski","twitter_site":"@prybaltowski","twitter_misc":{"Napisane przez":"Piotr Ryba\u0142towski","Szacowany czas czytania":"6 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/","url":"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/","name":"Cookies, technicznie i o zmianach w ustawie","isPartOf":{"@id":"https:\/\/blog.piotr.rybaltowski.pl\/#website"},"datePublished":"2013-04-15T10:41:26+00:00","dateModified":"2013-04-15T16:33:01+00:00","author":{"@id":"https:\/\/blog.piotr.rybaltowski.pl\/#\/schema\/person\/83a30be3ae1b549124de4ba1aadb7338"},"description":"W ostatnich tygodniach du\u017co si\u0119 dzieje w Internecie wok\u00f3\u0142 cookies (czyli tzw. ciasteczek). Co to s\u0105 ciasteczka, co ze sob\u0105 nios\u0105 i o co chodzi z t\u0105 ustaw\u0105?","breadcrumb":{"@id":"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.piotr.rybaltowski.pl\/cookies\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.piotr.rybaltowski.pl\/cookies\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/blog.piotr.rybaltowski.pl\/"},{"@type":"ListItem","position":2,"name":"Bezpiecze\u0144stwo","item":"https:\/\/blog.piotr.rybaltowski.pl\/kategoria\/bezpieczenstwo\/"},{"@type":"ListItem","position":3,"name":"Cookies, technicznie i o zmianach w ustawie"}]},{"@type":"WebSite","@id":"https:\/\/blog.piotr.rybaltowski.pl\/#website","url":"https:\/\/blog.piotr.rybaltowski.pl\/","name":"Piotr Ryba\u0142towski","description":"Programista PHP, Symfony","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.piotr.rybaltowski.pl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/blog.piotr.rybaltowski.pl\/#\/schema\/person\/83a30be3ae1b549124de4ba1aadb7338","name":"Piotr Ryba\u0142towski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/blog.piotr.rybaltowski.pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a4d8f9da3bba9f9c09eab549d2baa674?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a4d8f9da3bba9f9c09eab549d2baa674?s=96&d=wavatar&r=g","caption":"Piotr Ryba\u0142towski"},"sameAs":["http:\/\/www.piotr.rybaltowski.pl\/","https:\/\/twitter.com\/prybaltowski"],"url":"https:\/\/blog.piotr.rybaltowski.pl\/author\/piotr\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blog.piotr.rybaltowski.pl\/wp-content\/uploads\/2013\/04\/single-cookie-sweet.jpg?fit=190%2C190&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/s3k68g-cookies","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":300,"url":"https:\/\/blog.piotr.rybaltowski.pl\/solaris-gate-nie-daj-sie-wrabiac\/","url_meta":{"origin":873,"position":0},"title":"Solaris Gate – nie daj si\u0119 wrabia\u0107","date":"8 marca 2010","format":false,"excerpt":"Od jakiego\u015b czasu komentuje si\u0119 powstanie serwisu Solaris Gate. Wiele ju\u017c zosta\u0142o powiedziane. Dobre wpisy s\u0105 tutaj i tutaj. Ale tak si\u0119 sk\u0142ada, \u017ce moje interesuj\u0105ce si\u0119 prawem (ale nie studiuj\u0105ce prawa) S\u0142o\u0144ce przeczyta\u0142o regulamin korzystania z Solaris Gate i znalaz\u0142o niezgodne z prawem zapisy, o kt\u00f3rych my\u015bl\u0119, \u017ce powinienem\u2026","rel":"","context":"In "Internet"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1075,"url":"https:\/\/blog.piotr.rybaltowski.pl\/unicode-dodatkowe-alfabety-emoji-na-przykladzie-ubuntu\/","url_meta":{"origin":873,"position":1},"title":"Unicode, dodatkowe alfabety, emoji – na przyk\u0142adzie Ubuntu","date":"5 lutego 2015","format":false,"excerpt":"Polski uk\u0142ad klawiatury w Ubuntu zapewnia dost\u0119p do wi\u0119kszo\u015bci przydatnych znak\u00f3w. Za pomoc\u0105 prostych skr\u00f3t\u00f3w pokryte jest prawdopodobnie 99% przypadk\u00f3w u\u017cycia dla polskiego u\u017cytkownika. S\u0105 tu litery i cyfry, polskie znaki \u0105\u0107\u0119\u0142\u0144\u00f3\u015b\u017a\u017c, znaki przestankowe, nawiasy, symbole typu &, $ oraz dodatkowe, osi\u0105gane za pomoc\u0105 AltGr+cyfry: \u2260, \u00b2, \u00b3, \u00a2, \u20ac,\u2026","rel":"","context":"In "Ubuntu"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.piotr.rybaltowski.pl\/wp-content\/uploads\/2015\/01\/2000px-Unicode_logo.svg_.png?fit=1200%2C1200&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":877,"url":"https:\/\/blog.piotr.rybaltowski.pl\/ajax-json-zend-framework-2\/","url_meta":{"origin":873,"position":2},"title":"AJAX i JSON w Zend Framework 2","date":"13 maja 2013","format":false,"excerpt":"Patrz\u0105c na fora w Internecie oraz zapytania programist\u00f3w, mam wra\u017cenie, \u017ce obs\u0142uga zapyta\u0144 AJAXowych oraz zwracanie odpowiedzi w formacie JSON w Zend Framework 2 nie jest oczywista. Poni\u017cej postaram si\u0119 przybli\u017cy\u0107 ten temat. 5 lat temu pisa\u0142em o tym temacie w kontek\u015bcie Zend Framework 1. Dzisiaj, kilka miesi\u0119cy po premierze\u2026","rel":"","context":"In "PHP"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":344,"url":"https:\/\/blog.piotr.rybaltowski.pl\/ksiazka-zend-framework-od-podstaw-wlodzimierza-gajdy\/","url_meta":{"origin":873,"position":3},"title":"Ksi\u0105\u017cka \u201cZend Framework od podstaw\u201d W\u0142odzimierza Gajdy","date":"5 grudnia 2011","format":false,"excerpt":"Na co dzie\u0144 pracuj\u0119 przy tworzeniu i rozwijaniu aplikacji webowych dzia\u0142aj\u0105cych w oparciu o przegl\u0105dark\u0119 internetow\u0105. Programuj\u0119 przede wszystkim w j\u0119zyku PHP z wykorzystaniem Zend Framework, poniewa\u017c to znacznie przyspiesza pisanie cz\u0119sto powtarzanych element\u00f3w i czynno\u015bci, kt\u00f3re s\u0105 po prostu od razu gotowe do u\u017cycia w postaci odpowiednich klas. Do\u2026","rel":"","context":"In "Ksi\u0105\u017cki"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.piotr.rybaltowski.pl\/wp-content\/uploads\/2011\/12\/zend-framework-wlodzimierz-gajda.list_.png?fit=200%2C307&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":335,"url":"https:\/\/blog.piotr.rybaltowski.pl\/o-mnie-to\/","url_meta":{"origin":873,"position":4},"title":"O mnie to?","date":"30 maja 2011","format":false,"excerpt":"Od kilku dni jestem szcz\u0119\u015bliwym posiadaczem profilu w serwisie about.me. Od oko\u0142o 2 lat chodzi\u0142 za mn\u0105 pomys\u0142 tworzenia takiego serwisu, ale skoro jest og\u00f3lno\u015bwiatowy to niech b\u0119dzie. My\u015bla\u0142em te\u017c, \u017ce stworzenie polskiego odpowiednika mog\u0142oby si\u0119 przyj\u0105\u0107, ale to ju\u017c nie to samo, wi\u0119c nie by\u0142o to wysokim priorytetem na\u2026","rel":"","context":"In "Internet"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":342,"url":"https:\/\/blog.piotr.rybaltowski.pl\/firmy-w-google\/","url_meta":{"origin":873,"position":5},"title":"Firmy w Google+","date":"10 listopada 2011","format":false,"excerpt":"Serwis spo\u0142eczno\u015bciowy Google+ zyska\u0142 now\u0105 us\u0142ug\u0119 do swojego p\u00f3ki co ubogiego wachlarza - strony firmowe. Jest to co\u015b (bardzo) podobnego do fan-page'\u00f3w znanych z Facebooka. Google wyra\u017anie promuje zak\u0142adanie nowych stron, poniewa\u017c linki do tej funkcji umieszczane s\u0105 praktycznie gdzie tylko si\u0119 da - w prawej kolumnie g\u0142\u00f3wnej strony jest\u2026","rel":"","context":"In "Internet"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/posts\/873"}],"collection":[{"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/comments?post=873"}],"version-history":[{"count":38,"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/posts\/873\/revisions"}],"predecessor-version":[{"id":917,"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/posts\/873\/revisions\/917"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/media\/923"}],"wp:attachment":[{"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/media?parent=873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/categories?post=873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.piotr.rybaltowski.pl\/wp-json\/wp\/v2\/tags?post=873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}