Na navigaci | Klávesové zkratky

Jak na souhlas s cookie v EU

Víte, že nejpozději do 30. září 2015 máte povinnost získat souhlas uživatelů, pokud používáte na svém webu třeba Google AdSense? Proč, nač a jak na to?

Evropská unie přišla se směrnicí (tzv. sušenkovým zákonem), podle které musí uživatel webu dát souhlas s používáním cookies nebo obdobných mechanismů. A souhlas musí být také odvolatelný.

Výjimkou jsou cookies, které jsou nezbytné pro poskytnutí služby, kterou si uživatel sám vyžádal, například cookie pro nákupní košík. Naopak příkladem cookies, které nejsou nezbytně nutné, jsou cookie pro analýzu návštěvnosti, reklamní systémy nebo pluginy sociálních sítí.

Česko evropskou směrnici implementovalo tak, že ji vlastně ignorovalo. Což se nelíbí Úřadu pro ochranu osobních údajů, který se tím bude zabývat. Zatím tedy u nás není potřeba uživatele žádat o souhlas, nicméně provozovatelé webů mají povinnost informovat o rozsahu a účelu jejich zpracování, například v podmínkách používání na svých stránkách. Uživatelé také musí mít možnost takové zpracování odmítnout.

A teď to podstatné: protože Google nerozlišuje, jak která země implementovala směrnici EU, jste v případě, že používáte jeho služby jako Google AdSense nebo Analytics s některou z inzertních funkcí (remarketing, demografické přehledy), povinni získat souhlas koncového uživatele. A to do 30. září 2015.

Jak na to?

S tím, jak žádost o souhlas formulovat, vám poradí web www.cookiechoices.org. Záleží především na tom, k čemu cookie používáte. Kupříkladu na tomto webu používám AdSense a Analytics, takže jsem použil tuto formulaci:

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte.

Řeším tím povinnost dát uživateli možnost používání cookie odmítnout (tím, že web opustí) a také odvolatelnost souhlasu (tím, že web opustí).

A teď čistě technicky. Souhlas s používáním cookies si budu ukládat do cookie nazvané např. eu-cookies. Panel s žádostí vložím do layoutu na konec stránky a zobrazím pouze pokud nebyl udělen. Příklad pro Latte:

	<div class="eu-cookies" n:if="empty($_COOKIE[eu-cookies])">
		Tento web používá k poskytování služeb, personalizaci reklam a analýze
		návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte.
		<button>V pořádku</button>
		<a href="https://www.google.com/policies/technologies/cookies/">Další informace</a>
	</div>
	<noscript><style>.eu-cookies { display:none }</style></noscript>

Panel mám napozicovaný fixně, aby byl stále vidět. Sice tak ukrajuje kus prostoru zejména na mobilních zařízeních, ale to nevadí, uživatel stejně nemůže web používat, pokud neprojeví souhlas. Příklad stylu:

.eu-cookies {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	color: white;
	background-color: black;
	z-index: 1000;
}

.eu-cookies button {
	background: green;
	color: white;
}

A nakonec JavaScript, který po stisknutí tlačítka uloží souhlas do cookie (používám jQuery):

	$('.eu-cookies button').click(function() {
		var date = new Date();
		date.setFullYear(date.getFullYear() + 10);
		document.cookie = 'eu-cookies=1; path=/; expires=' + date.toGMTString();
		$('.eu-cookies').hide();
	});

Pokud používáte subdomény a cookie se má nastavit i pro ně, doplňte za path=/; ještě domain=.vasedomena.cz; (a tečka na začátku je důležitá).

Ještě poznámka: dokud souhlas nezískáte, neměla by vaše stránka obsahovat ani reklamu, ani měřící kódy.

Mohlo by vás zajímat

Komentáře

  1. Petr Soukup #1

    avatar

    Neměla by ta podmínka na zobrazení být ještě na samotný reklamní kód? Jinak to dopadne takhle:
    https://twitter.com/…910645817344

    před 9 lety | reagoval [2] Michal Špaček
  2. Michal Špaček #2

    avatar

    #1 Petře Soukupe, Nevím, jestli by to něčemu pomohlo. To byla reklama, kterou do stránky nacpal wi-fi router nebo něco podobného.

    před 9 lety | reagoval [4] Petr Soukup
  3. Michal Novák #3

    avatar

    A co do kódu ještě doplnil třídu „CookiesOk“ (viz https://cookiesok.com/). Pár tisíc uživatelů už plugin na automatické odsouhlasení podmínek používá, tak jim to udělá radost. Není to moc, ale je to nejrozšířenější, co znám. A bude fajn, když se časem vyprofiluje nějaký „standard“, jak vyjebat s cookie law.

    před 9 lety | reagoval [10] Jakub Bouček
  4. Petr Soukup #4

    avatar

    #2 Michale Špačku, Pak mi došlo, ze jsem to blbe pochopil. Nicméně to ale platí – jedna část je získání souhlasu a druha skrytí reklam, dokud ho nemam.

    před 9 lety
  5. Jaroslav Štreit #5

    avatar

    Verze pro nepříznivce EU je lepší!!!

    před 9 lety
  6. Luke #6

    avatar

    Díky za tenhle návod. Jednoduché a funkční: Souhlasíš, klikni, nesouhlasíš, jdi pryč. Udělám to co nejdřív, ať mám ten nesmysl z krku.

    před 9 lety
  7. error414 #7

    avatar

    Tohle je věc co přesně web potřeboval, další otravnej banner :(. Se děsím toho co se vymyslí příště

    před 9 lety
  8. Jakub Vrána #8

    avatar

    Já se na ten zkurvenej souhlas prostě vyseru a uvidím, co se stane. (Komentář by se hodil spíš k druhé verzi článku.)

    před 9 lety
  9. Jiří Vlasák #9

    avatar

    Chtělo by to blacklist ip adres používaných státními a unijními úřady a těm zobrazovat banner dvakrát větší a bez možnosti zrušit ho tlačítkem.

    před 9 lety
  10. Jakub Bouček #10

    avatar

    #3 Michale Nováku, Díky za tip. Doplnil jsem to do mého one-line scriptu fucking-eu-cookies.

    před 9 lety
  11. Vojtěch Schlesinger #11

    avatar

    Už jsem to psal v komentářích na FB a nikdo neodpověděl, tak to napíšu aspoň sem.

    Skutečně nikomu nepřijde divné, že je toto jenom hláška, která neřeší skutečně to, že ten souhlas máte?

    Jinými slovy, nemělo by to správně být tak, že se žádné cookies (obzvláště ty „zlé“) nepošlou, dokud nemám souhlas? Pokud tedy souhlas nedám, nic se nenastavuje. A žádné hlášky o tom, že dalším používáním se bla bla to nezachrání ne?¨

    Ještě jinými slovy – jak se to liší od toho, co máme teď, když uživatele upozorníme a dle českého práva máte soukromí/podmínky a všichni si můžou cookie smazat?

    před 9 lety | reagoval [12] Kubo2
  12. Kubo2 #12

    avatar

    #11 Vojtěchu Schlesingere, Hm, ono to má niečo do seba. 🙂 V konečnom prípade užívateľ s možnosťou mazať cookies má nad svojím strojom väčšiu moc, než ktorákoľvek webová stránka. To by malo znamenať, že skurvené zákony o cookies od skurvenej Európskej únie sú celkom bezpredmetné.

    Z tohoto dôvodu sa na skurvené cookies law taktiež vyseriem.

    před 9 lety
  13. Ondra #13

    Ahoj,
    tohle reseni ma drobny nedostatek – kdyz nacitam web na pomalem pripojeni, nelze nechat listu od zkurvene eu nechat zmizet predtim, nez se cela stranka nacte, takze je dost zkurvene prudici. Nemyslim to zle, pisu to proto, ze jsem si toho vsimnul a mozna se o tom hodi vedet.

    před 9 lety | reagoval [14] David Grudl
  14. David Grudl #14

    avatar

    #13 Ondro, máš pravdu, pokud se to skrývá externě načítaným JavaScriptem, mělo by se to i zobrazovat externě načítaným JavaScriptem.

    před 9 lety
  15. Brokoli #15

    avatar

    Díky ! Musím rychle dodělat .....

    před 9 lety
  16. Josef Dvořák #16

    avatar

    Možná bych ještě dodal že pokud chcete tento skript použít tak nezapomeňte že musíte vytvořit podmínku v php a ne v HTML.

    Platí jen pro některé případy.

    před 9 lety
  17. E8456A #17

    avatar

    Akorát tím otravujou zbytečně lidi, ti stupidní EU šaškové. Co tam ti půlmozci vždy vymyslí, stojí fakt za to.

    Nestačí, že jsou weby plné klasických otravujících reklamních shitů, což samo o sobě doslova aspoň mne odpuzuje od návštěv takových webů – buďto hned zhnusen bez shlédnutí webu odejdu, nebo jim „za odměnu“ vyblokuju veškerou reklamu a web, pokud je jinak obsahově zajímavý, používám dál.
    Lišty z rodiny „fucking-eu-cookies“ blokuju a zneviditelňuju, jak to jen jde(zatím jsem ještě nenarazil na web, kde by to nešlo, bez omezení jeho funkčnosti), ale je to dost otravná záležitost,
    jelikož názvy css ID/CLASS má záměrně každej jiné.(Ale tam, kam lezu častu, je už čisto)
    Cookies a stupid reklamy nesnáším, proto se k nim takto chovám..:D
    Kde jsou ty časy, kdy web byl z větší části bez reklam a „user friendly“.

    EU, go to hell!

    před 9 lety | reagoval [19] Karel
  18. Kamil Tomšík #18

    avatar

    Hloupý dotaz – týka se to jenom cookie a nebo i localStorage?

    před 9 lety
  19. Karel #19

    #17 E8456A, Názor rozumného člověka po ránu potěší, díky. Jinak se totiž kolem setkávám s nepochopení, co mi na tom vadí a že co mi ten jeden klik udělá. Tak samo reklamy… také bych rád vrátil web do roku 2000… kdy bohatě stačil i dial-up a vše běhalo svižně, stránky si nedělaly samy co chtějí a standardy se trochu dodržovaly…

    před 8 lety
  20. Frenk #20

    Zdravím, chci se zeptat, zda si mohu uvedený script upravit a použít na weby kam potřebuji (resp. jaké jsou podmínky použití) ? Děkuji.

    před 8 lety
  21. uvědomělý opičan #21

    avatar

    Nepřimluvil byste se někdo v Evropském Svazu, aby na nás při návštěvě jakéhokoli webu vyskočilo přes celou obrazovku okno „Tento web existuje díky laskavé velkodušnosti Evropského Svazu“ anebo „S Evropským Svazem na věčné časy a nikdy jinak!“?

    před 8 lety
  22. Michal #22

    avatar

    Ahoj nějak se mi nechcou ty souhlasy ukládat do toho souboru cookies… nevíš v čem jsem mohl udělal chybu? programovat se ještě učím, tak je možnost, že v tom muže být i prkotina.. díky za radu

    před 8 lety
  23. danča #23

    avatar

    ahoj, prosím jak nastavím, aby se tato lišta ukazovala jen jednou? ukazuje se mi to i po odkliknutí OK stále i na ostatních podstránkách. díky Danča

    před 7 lety

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.


phpFashion © 2004, 2024 David Grudl | o blogu

Ukázky zdrojových kódů smíte používat s uvedením autora a URL tohoto webu bez dalších omezení.