Cookie: Porovnání verzí
(Založena nová stránka: '''Autor:''' Jaroslav Kvasnica) |
m (3 revize: IMPORT C: import stránek z hlavního jmenného prostoru z KiskWiki (http://kisk.phil.muni.cz/)) |
||
| (Nejsou zobrazeny 2 mezilehlé verze od stejného uživatele.) | |||
| Řádek 1: | Řádek 1: | ||
'''Autor:''' Jaroslav Kvasnica | '''Autor:''' Jaroslav Kvasnica | ||
| + | |||
| + | '''Klíčová slova:''' http, seance, internetový prohlížeč | ||
| + | |||
| + | '''Synonyma:''' --- | ||
| + | |||
| + | '''Související pojmy:''' | ||
| + | |||
| + | <blockquote> | ||
| + | ''nadřazené'' - bezpečnost na internetu, internetový prohlížeč, seance</blockquote> | ||
| + | <blockquote> | ||
| + | ''podřazené'' - ---</blockquote> | ||
| + | |||
| + | ==Cookie== | ||
| + | Cookie (česky koláček, sušenka - české ekvivalenty se ale nepoužívají) je ''malá textová informace, která se dá uložit na počítač klienta.''[[#Literatura|[1]]] Cookies se používají zejména pro uložení identifikace uživatele nebo k zapamatování si předchozích voleb klienta. Lze je, jako běžné textové soubory, číst a jsou ukládány v cache paměti prohlížeče, nejčastěji v dočasných souborech. | ||
| + | |||
| + | Analogie ke cookies z běžného života může být například: ''„když si dáte vyčistit prádlo do čistírny, dostanete do ruky NĚCO, co příště zase předložíte a pracovníci čistírny podle toho poznají, že jste to vy a vydají vám vaše vyčištěné prádlo. Ono NĚCO může být třeba lísteček, na kterém je několikaciferné, vám nic neříkající číslo, které ale pro pracovníky čistírny srozumitelné a smysluplné je.“''[[#Literatura|[2]]] | ||
| + | |||
| + | Cookies nejsou vhodné k ukládání velkých objemů dat – jsou opatřeny velikostním limitem. To ani není účel, ke kterému byly cookies vytvořeny. ''Úkolem souboru cookie je informovat server o návratu na konkrétní webovou stránku.''[[#Literatura|[3]]] Tím server může identifikovat známého uživatele a přizpůsobit mu obsah a načíst volby, které již byly jednou uživatelem vybrány. | ||
| + | |||
| + | ==Technické parametry== | ||
| + | Velikostní limit cookies je 20 cookies na doménu, 4 KB na cookie. [[#Literatura|[4]]] | ||
| + | |||
| + | Princip fungování cookies: [[#Literatura|[5]]] | ||
| + | |||
| + | 1. Pomocí PHP vysvětlíme serveru, že by s nějakou stránkou (tedy odpovědí) měl odeslat do prohlížeče rovněž jednu nebo více cookies, | ||
| + | |||
| + | 2. cookies (které obsahují název a hodnotu) se pošlou prohlížeči spolu s požadovanou stránkou (a to v hlavičce), | ||
| + | |||
| + | 3. prohlížeč pochopí, že by měl cookies nějak zpracovat a "zapamatuje se" jejich název a hodnotu, | ||
| + | |||
| + | 4. když se potom prohlížeč na stejnou stránku (resp. stejný server) vrátí, bude automaticky posílat cookies. | ||
| + | |||
| + | |||
| + | Při odesílání cookies můžeme nastavit nepovinné parametry:[[#Literatura|[6]]] | ||
| + | |||
| + | - vypršení platnosti (takové cookies se nazývají cookies seance), | ||
| + | |||
| + | - adresy, na které může daný prohlížeč soubor cookie odesílat, | ||
| + | |||
| + | - cestu (path), kde server potřebuje cookies ke své činnosti, | ||
| + | |||
| + | - parametr secure, který říká, že prohlížeč může odesílat cookies jen při zabezpečeném síťovém spojení. | ||
| + | |||
| + | ==Bezpečnost== | ||
| + | Cookies jako takové nepředstavují žádné nebezpečí. Nemohou obsahovat žádný spustitelný skript (tedy ani viry) a s cookies mohou pracovat (ukládat i číst) skripty jak klientské (např. javascript), tak i serverové (např. PHP). | ||
| + | Největší bezpečností riziko představuje právě samotný princip fungování cookies. A tady hlavními problémy jsou viditelnost a modifikovatelnost. | ||
| + | |||
| + | ''Viditelnost - pro uživatele není problém hodnotu cookie zjistit, což zejména u interních proměnných jako je například ID uživatele apod. není žádoucí. '' | ||
| + | |||
| + | ''Modifikovatelnost - hodnoty jsou uloženy na počítači uživatele a uživatel je tedy může bez problémů modifikovat. Pokud se jedná o interní proměnnou (například login apod.) může se jednat o bezpečnostní riziko.''[[#Literatura|[7]]] | ||
| + | |||
| + | Těmto problémům je možné se vyhnout například šifrováním uložených informací nebo tzv. podepisováním cookies (uložením informace, která pomůže odhalit, jestli byla cookies měněna). | ||
| + | |||
| + | ==Prohlížeče== | ||
| + | Všechny dnešní prohlížeče umějí pracovat se soubory cookies. Prohlížeč, který podporuje cookies musí splňovat tyto požadavky: [[#Literatura|[8]]] | ||
| + | |||
| + | - alespoň 300 cookies celkově, | ||
| + | |||
| + | - alespoň 20 cookies na doménu, | ||
| + | |||
| + | - alespoň 4096 bajtů na cookie (data), | ||
| + | |||
| + | - pokud prohlížeč nemůže přijmout větší cookie, nesmí jeho data "oříznout" ale nepřijmout jako celek. | ||
| + | |||
| + | Ukládání cookies je možné v prohlížeči zakázat. | ||
| + | |||
| + | ==Použitá literatura== | ||
| + | #JANOVSKÝ, Dušan. ''Jak psát web : o tvorbě, údržbě a zlepšování stránek'' [online]. 2010 [cit. 2010-05-30]. Cookies. Dostupné z WWW: <http://www.jakpsatweb.cz/enc/cookies.html>. | ||
| + | #PETERKA, Jiří. ''Archiv.cz : archiv článků a přednášek Jiřího Peterky'' [online]. 1996 [cit. 2010-05-30]. Cookie. Dostupné z WWW: <http://www.earchiv.cz/a96/a638k130.php3>. | ||
| + | #''Technická podpora Microsoft'' [online]. 24. května 2004 [cit. 2010-05-30]. Popis souborů cookie. Dostupné z WWW: <http://support.microsoft.com/kb/260971/cs>. | ||
| + | #VRÁNA, Jakub. ''PHP triky : Weblog o elegantním programování v PHP pro mírně pokročilé'' [online]. 1. 7. 2005 [cit. 2010-05-30]. Zabezpečení session proměnných. Dostupné z WWW: <http://php.vrana.cz/zabezpeceni-session-promennych.php>. | ||
| + | #ZAJÍC, Petr. ''PHP(52) - Cookies. Linuxsoft.cz'' [online]. 6. 10. 2004, [cit. 2010-05-30]. Dostupný z WWW: <http://www.linuxsoft.cz/article.php?id_article=436>. ISSN 1801-3805. | ||
| + | #WILLIAMS, Hugh E.; LANE, David. ''PHP a MySQL : Vytváříme webové databázové aplikace''. Vydání první. Praha : Computer Press, 2002. 530 s. ISBN 80-7226-760-4. | ||
| + | #VONDRA, Tomáš. ''Fuzzy.cz'' [online]. 20. 5. 2009 [cit. 2010-05-30]. Bezpečné cookies. Dostupné z WWW: <http://www.fuzzy.cz/cs/clanky/bezpecne-cookies/>. | ||
| + | #KRISTOL, D.; MONTULLI, L. ''IETF Tools'' [online]. řijen 2000 [cit. 2010-05-30]. Request for Comments: 2965. Dostupné z WWW: <http://tools.ietf.org/html/rfc2965>. | ||
Aktuální verze z 6. 2. 2012, 11:05
Autor: Jaroslav Kvasnica
Klíčová slova: http, seance, internetový prohlížeč
Synonyma: ---
Související pojmy:
nadřazené - bezpečnost na internetu, internetový prohlížeč, seance
podřazené - ---
Cookie
Cookie (česky koláček, sušenka - české ekvivalenty se ale nepoužívají) je malá textová informace, která se dá uložit na počítač klienta.[1] Cookies se používají zejména pro uložení identifikace uživatele nebo k zapamatování si předchozích voleb klienta. Lze je, jako běžné textové soubory, číst a jsou ukládány v cache paměti prohlížeče, nejčastěji v dočasných souborech.
Analogie ke cookies z běžného života může být například: „když si dáte vyčistit prádlo do čistírny, dostanete do ruky NĚCO, co příště zase předložíte a pracovníci čistírny podle toho poznají, že jste to vy a vydají vám vaše vyčištěné prádlo. Ono NĚCO může být třeba lísteček, na kterém je několikaciferné, vám nic neříkající číslo, které ale pro pracovníky čistírny srozumitelné a smysluplné je.“[2]
Cookies nejsou vhodné k ukládání velkých objemů dat – jsou opatřeny velikostním limitem. To ani není účel, ke kterému byly cookies vytvořeny. Úkolem souboru cookie je informovat server o návratu na konkrétní webovou stránku.[3] Tím server může identifikovat známého uživatele a přizpůsobit mu obsah a načíst volby, které již byly jednou uživatelem vybrány.
Technické parametry
Velikostní limit cookies je 20 cookies na doménu, 4 KB na cookie. [4]
Princip fungování cookies: [5]
1. Pomocí PHP vysvětlíme serveru, že by s nějakou stránkou (tedy odpovědí) měl odeslat do prohlížeče rovněž jednu nebo více cookies,
2. cookies (které obsahují název a hodnotu) se pošlou prohlížeči spolu s požadovanou stránkou (a to v hlavičce),
3. prohlížeč pochopí, že by měl cookies nějak zpracovat a "zapamatuje se" jejich název a hodnotu,
4. když se potom prohlížeč na stejnou stránku (resp. stejný server) vrátí, bude automaticky posílat cookies.
Při odesílání cookies můžeme nastavit nepovinné parametry:[6]
- vypršení platnosti (takové cookies se nazývají cookies seance),
- adresy, na které může daný prohlížeč soubor cookie odesílat,
- cestu (path), kde server potřebuje cookies ke své činnosti,
- parametr secure, který říká, že prohlížeč může odesílat cookies jen při zabezpečeném síťovém spojení.
Bezpečnost
Cookies jako takové nepředstavují žádné nebezpečí. Nemohou obsahovat žádný spustitelný skript (tedy ani viry) a s cookies mohou pracovat (ukládat i číst) skripty jak klientské (např. javascript), tak i serverové (např. PHP). Největší bezpečností riziko představuje právě samotný princip fungování cookies. A tady hlavními problémy jsou viditelnost a modifikovatelnost.
Viditelnost - pro uživatele není problém hodnotu cookie zjistit, což zejména u interních proměnných jako je například ID uživatele apod. není žádoucí.
Modifikovatelnost - hodnoty jsou uloženy na počítači uživatele a uživatel je tedy může bez problémů modifikovat. Pokud se jedná o interní proměnnou (například login apod.) může se jednat o bezpečnostní riziko.[7]
Těmto problémům je možné se vyhnout například šifrováním uložených informací nebo tzv. podepisováním cookies (uložením informace, která pomůže odhalit, jestli byla cookies měněna).
Prohlížeče
Všechny dnešní prohlížeče umějí pracovat se soubory cookies. Prohlížeč, který podporuje cookies musí splňovat tyto požadavky: [8]
- alespoň 300 cookies celkově,
- alespoň 20 cookies na doménu,
- alespoň 4096 bajtů na cookie (data),
- pokud prohlížeč nemůže přijmout větší cookie, nesmí jeho data "oříznout" ale nepřijmout jako celek.
Ukládání cookies je možné v prohlížeči zakázat.
Použitá literatura
- JANOVSKÝ, Dušan. Jak psát web : o tvorbě, údržbě a zlepšování stránek [online]. 2010 [cit. 2010-05-30]. Cookies. Dostupné z WWW: <http://www.jakpsatweb.cz/enc/cookies.html>.
- PETERKA, Jiří. Archiv.cz : archiv článků a přednášek Jiřího Peterky [online]. 1996 [cit. 2010-05-30]. Cookie. Dostupné z WWW: <http://www.earchiv.cz/a96/a638k130.php3>.
- Technická podpora Microsoft [online]. 24. května 2004 [cit. 2010-05-30]. Popis souborů cookie. Dostupné z WWW: <http://support.microsoft.com/kb/260971/cs>.
- VRÁNA, Jakub. PHP triky : Weblog o elegantním programování v PHP pro mírně pokročilé [online]. 1. 7. 2005 [cit. 2010-05-30]. Zabezpečení session proměnných. Dostupné z WWW: <http://php.vrana.cz/zabezpeceni-session-promennych.php>.
- ZAJÍC, Petr. PHP(52) - Cookies. Linuxsoft.cz [online]. 6. 10. 2004, [cit. 2010-05-30]. Dostupný z WWW: <http://www.linuxsoft.cz/article.php?id_article=436>. ISSN 1801-3805.
- WILLIAMS, Hugh E.; LANE, David. PHP a MySQL : Vytváříme webové databázové aplikace. Vydání první. Praha : Computer Press, 2002. 530 s. ISBN 80-7226-760-4.
- VONDRA, Tomáš. Fuzzy.cz [online]. 20. 5. 2009 [cit. 2010-05-30]. Bezpečné cookies. Dostupné z WWW: <http://www.fuzzy.cz/cs/clanky/bezpecne-cookies/>.
- KRISTOL, D.; MONTULLI, L. IETF Tools [online]. řijen 2000 [cit. 2010-05-30]. Request for Comments: 2965. Dostupné z WWW: <http://tools.ietf.org/html/rfc2965>.