Poichè le direttive europee hanno imposto che tutti i siti sotto l’ombrello Europa forniscano un’informativa chiara al navigatore sull’utilizzo dei cookie, essendo tecnicamente insoddisfatto delle soluzione proposte dagli altri ed infine sperando che qualcuno lo facesse al posto mio, qualche giorno fa mi sono dovuto sviluppare prima uno script stand-alone denominato EUCookieLaw poi (a grande richiesta) l’ho reso anche un plugin per WordPress in attesa di approvazione dal team di WordPress.
Credevo che la documentazione rilasciata su GitHub fosse chiara, anche se in inglese, tuttavia le domande che mi sono state poste per il suo utilizzo e la sua configurazione sono state sempre le stesse ed io mi sono dovuto ripetere più volte, nei commenti, nei messaggi privati e ovunque mi fosse domandato, quindi ecco la guida alla completa configurazione di EUCookieLaw.
Configurare in un contesto stand-alone
Gli unici file di cui abbiamo bisogno sono:
- EUCookieLaw.js
- eucookielaw.css
- eucookielaw-header.php
Per installare lo script in un contesto senza CMS o con un CMS proprietario che utilizza PHP come linguaggio di programmazione server side bisogna inserire questo codice in ogni entry principale:
<?php define('EUCOOKIELAW_DISALLOWED_DOMAINS', '<elenco-siti-che-voglio-bloccare>'); define('EUCOOKIELAW_LOOK_IN_SCRIPTS', true); require 'eucookielaw-header.php'; ?>
Per lo scopo di ogni variabile inclusa nello script di cui sopra, si rimanda alla documentazione sul sito.
A partire dalla versione 1.3 gli spazi eccedenti all’inizio e alla fine di ogni url da ricercare vengono automaticamente rimossi.
Le modalità con cui è possibile scrivere l’elenco dei domini è:
Modo1: url1;url2;url3;…
Modo2: url1 ; url2 ; url3
Modo3:
url1
url2
url3
A partire dalla versione 1.4 È possibile includere implicitamente tutti i sottodomini di uno specifico URL anteponendo all’URL un punto (es. “.example.com” includerà “sottodominio.example.com” e “sotto.sottodominio.example.com“).
Se il CMS o il sito prevede diverse entry (per chiarirsi i CMS usano tipicamente un .htaccess e dirottano tutte le richieste ad un unico file principale denominato index.php o default.php), allora dovrete ripetere l’operazione per tutti i punti di ingresso al sito.
In ogni pagina HTML, bisogna includere una chiamata al JavaScript, al foglio di stile e configurare l’utilizzo di EUCookieLaw secondo quanto riportato nella documentazione alle sezioni “Client Side” e “Customize the behavior” di GitHub.
Eseguire il debug delle regole di sostituzione
Per eseguire il debug delle sostituzioni includere la definizione che segue prima dell’inclusione del file ‘eucookielaw-header.php‘:
define('EUCOOKIELAW_DEBUG', true);
Installare EUCookieLaw in WordPress
Per installare in WordPress il plugin, utilizzare il canale ufficiale di installazione plugin di WordPress. In alternativa effettuare il download di tutti i file del repository (GitHub consente il download come zip, che piace anche a WordPress) ed eseguire la procedura standard di installazione di un plugin per WordPress. Niente di più, niente di meno.
Nota importante: scaricando lo zip direttamente da GitHub, è possibile che venga ottenuto un file del tipo EUCookieLaw-versione.zip. Prima di installarlo in WordPress è fondamentale rimuovere il nome della versione rinominando l’archivio in EUCookieLaw.zip.
Personalizzare l’aspetto
Per personalizzare l’aspetto di EUCookieLaw su WordPress, bisogna creare la directory /wp-content/plugins/EUCookieLawCustom (una copia della directory pronta all’uso è già disponibile nel plugin). Nella directory bisogna inserire un foglio di stile eucookielaw.css ed intervenire su questo foglio di stile per modificare aspetto e cartteristiche del banner.
A partire dalla versione 1.4 è possibile determinare tramite interfaccia di amministrazione dove collocare il banner: in alto o in basso.
Poichè sono state apportate diverse modifiche alla gestione dei CSS si suggerisce di inserire nel file CSS personalizzato solo le proprie personalizzazioni rispetto alle impostazioni predefinite.
Installare EUCookieLaw in Drupal
Il collega e amico Pietro Cappai ha prodotto una guida passo passo per configurare EUCookieLaw in Drupal 7.
Inoltre poichè esistono alcune differenze tra Drupal 7 e Drupal 6, ho prodotto una piccola guida integrativa per installare EUCookieLaw in Drupal 6.
Installare EUCookieLaw in Joomla
A seguito della produzione di un documento da parte del collega Gioacchinio Cipriano, ho prodotto una guida integrando ulteriori dettagli in modo da avere un’installazione di EUCookieLaw completamente funzionante in Joomla!
Installare EUCookieLaw in Coopermine Gallery
È di prossima pubblicazione una guida passo passo per installare EUCookieLaw in Coppermine Gallery. Il tutorial sarà un’ulteriore semplificazione della risposta alla issue indicata nel repository Bug with Coppermine Gallery
Installare EUCookieLaw in ZenCart, Magento, Prestashop e tutti gli altri CMS basati su PHP.
Seguendo le indicazioni descritte in “Configurare in un contesto stand-alone” si dovrebbe ottenere il risultato atteso, in caso doveste riscontrare problemi con un qualsiasi CMS vi prego di inviarmi un messaggio per email in modo da integrare la documentazione con ulteriori dettagli per lo specifico CMS utilizzato.
Bloccare i cookie di terze parti
Cerchiamo di chiarire alcuni concetti, nè con JavaScript nè con PHP è possibile bloccare i cookie generati da altri domini. Perchè? Il concetto rientra nel contesto delle security-policy del browser di turno. Quando un utente si trova sul sito example.com, il browser mette a disposizione di Javascript solo i Cookie che sono prodotti dallo stesso dominio purchè non siano cookie di tipo “http” (ovvero consultabili solo sul server). Quindi se questo sito fa utilizzo dei classici pulsante like di Facebook e del widget di Twitter, sta richiamando degli script remoti (ovvero fuori dal dominio) o include degli iframe con contenuti remoti. Gli script remoti non vengono richiesti quindi dal server example.com bensì dal client che sta navigando su example.com.
Pertanto il problema principale è che l’utente, secondo la normativa, dovrebbe prima autorizzare all’uso dei cookie e poi potrebbe usufruire di determinate funzionalità. Ed è così che è nato EUCookieLaw. Qualcosa che preventivamente blocchi i cookie e poi solo se l’utente approva la policy di conservazione dei cookie allora potrà usufruire dei servizi. Per fare ciò EUCookieLaw deve essere in grado di conoscere quali sono i siti che producono i così detti Cookie di terze parti e sostituire il codice prodotto sul server con una versione leggermente modificata in modo che i domini “profilatori” non siano più presenti fino ad approvazione dell’utente.
Quindi la prima cosa da fare è censire quali servizi esterni il proprio sito interroga tramite i tipici tag: iframe (solitamente per i widget di Facebook e di Twitter), script (per esempio i like button di facebook spesso adottano questa tecnica) e link (tipicamente CSS appoggiati ad una CDN).
Una volta identificati gli elementi da bloccare indichiamo in quale tag li potremo trovare. Di default EUCookieLaw cercherà questi contenuti in iframe, link e script. Per censirli bisogna riportare i tag specifici nel campo “Ricerca i domini solo in questi tag” separati da un pipe (“|”).
Quindi, se utilizzi WordPress, riportare nel campo “Domini bloccati” l’elenco dei domini bloccati, senza indicare il protocollo (http:// o https://), altrimenti (se si sta usando lo script in modalità standalone) riportare questo elenco in una costante EUCOOKIELAW_DISALLOWED_DOMAINS, prima dell’inclusione del file eucookielaw-header.php ricordandovi che ciascun dominio deve essere separato dal “;” oppure da ritorno a capo (\n).
Dopo aver provato sul campo con il supporto di tanti colleghi che utilizzano il plugin che ho sviluppato EUCookieLaw, ecco quali sono i domini che tipicamente producono cookie e che vanno bloccati preventivamente. In grassetto ci sono le regole che includono le altre non in grassetto:
- Google
- .google.com
- .google.it
- www.google.com
- www.google.it
- apis.google.com
- html5shim.googlecode.com
- Google Analytics
- .google-analytics.com
- www.google-analytics.com
- Google Fonts
- fonts.googleapis.com
- Google Maps
- .google.com
- maps.google.com
- .googleapis.com
- maps.googleapis.com
- www.google.com/maps
- www.google.it/maps
- Double Click (Google Advertising)
- .doubleclick.net
- stats.g.doubleclick.net
- doubleclick.net
- Twitter
- .twitter.com
- twitter.com
- platform.twitter.com
- www.twitter.com
- twitterfeed.com
- Youtube
- www.youtube-nocookie.com
- www.youtube.com
- Vimeo
- .vimeo.com
- vimeo.com
- player.vimeo.com
- Facebook
- .facebook.net
- .facebook.com
- .facebook.it
- connect.facebook.net
- www.facebook.it
- static.facebook.com
- www.static.facebook.com
- static.ak.facebook.com
- www.facebook.com
- LinkedIn
- .linkedin.com
- platform.linkedin.com
- www.linkedin.com
- Pinterest
- www.pinterest.com
- Digg
- widgets.digg.com
- Instragram
- instagram.com
- .cdninstagram.com
- scontent.cdninstagram.com
- scontent-a.cdninstagram.com
- scontent-b.cdninstagram.com
- Add This
- .addthis.com
- www.addthis.com
- g.addthis.com
- s7.addthis.com
- addthis.com
- Eventbrite
- eventbrite.it
- eventbrite.com
- Altri servizi
- www.addtoany.com
- .mixpanel.com
- api.mixpanel.com
- mixpanel.com
- .performgroup.com
- erformgroup.com
- static.eplayer.performgroup.com
- .cloudfront.net/assets/pub/shareaholic.js
L’elenco di cui sopra è in fase di costante aggiornamento, quindi ti suggerisco di consultare quotidianamente questa pagina.
Suggerimento: Non è necessario inserire tutti i domini di cui sopra nella configurazione, ma solo quelli dei servizi che effettivamente sono ospitati dal sito. Si suggerisce inoltre di utilzzare quando possibile le regole generiche.
Cercare solo in specifici tag
Di default EUCookieLaw cercherà solo in specifici tag (iframe, script, link) ma possiamo estendere o ridurre l’ambito della ricerca a specifici tag. Per farlo basta operare sulla costante pubblica EUCOOKIELAW_LOOK_IN_TAGS, se stiamo usando la modalità stand-alone, altrimenti tramite il pannello di configurazione di WordPress nella casella Ricerca i domini solo in questi tag.
A prescindere dalla modalità che si adotta per la configurazione di questa informazione, ricordarsi che l’elenco dei tag deve essere separato da un carattere pipe (|).
Commenti
115 risposte a “EUCookieLaw la configurazione ottimale”
Può interessarvi questo articolo sui cookie: a tre anni dalle ultime modifiche apportate al Codice privacy sulla materia dei cookie, non c’è ancora chiarezza e c’è bisogno di parlarne in modo più approfondito.
Cookie: la disciplina applicabile e le criticità del provvedimento del Garante @lamiaprivacy #cookielaw #privacy
https://lamiaprivacy.wordpress.com/2015/05/24/cookie-la-disciplina-applicabile-e-le-criticita-del-provvedimento-del-garante/
Ciao Diego stavo testando il tuo plugin in locale su wordpress ed ho un piccolo problema in chrome quando cancello tutti i cookie da “impostazioni>Privacy>Impostazione contenuti>Cookie>tutti i cookie e i dati dei siti” naturalmente si disconnette wordpress e se provo a loggarmi mi esce fuori il seguente errore “ERRORE: i cookies sono bloccati o non supportati dal tuo browser. Per utilizzare WordPress devi abilitare i cookie.”come posso risolvere?
Grazie mille
Ciao Mario,
il plugin ti disconnette da WordPress perchè hai rimosso tutti i Cookie (ed è normale, visto che WordPress usa i cookie per conservare lo stato di autenticazione dell’utente).
Successivamente, poichè anche nella pagina di login è disponibile il modulo di autorizzazione all’utilizzo dei cookie, se prima non lo autorizzi, il server non ti genererà alcun cookie. Questa funzionalità è pensata (è un ragionamento estremo) perchè anche WordPress in area amministrativa conserva alcune informazioni che se integrate con diversi plugin possono diventare di Profilazione e quindi, ragionando nell’ottica di un blog strutturato come testata giornalistica, ovvero con tanti utenti che lavorano sul blog, un editore deve essere consapevole che i dati prodotti in area di amministrazione se trattati in un certo modo posso profilarlo.
Quindi per risolvere il tuo problema, è sufficiente accettare la policy, disponibile anche sulla pagina di login, e poi accedere all’area di amministrazione :)
Grazie mille Diego
Buongiorno, complimenti in primis per la soluzione al problema blocco cookie, ho provato tante versioni di plugin e varie configurazioni stand-alone, la tua é dal mio punto di vista E’ la migliore, proprio perché hai creato questa pagina.
Fatti i doverosi complimenti ( che ripetero’ sulla pagina Facebook ” Fatti di WordPress”) vengo a porti due domande:
1) dopo aver configurato il plugin EuCookielaw inserendo in domini bloccati e ricerca domini solo in questi tag ( Ho messo in entrambi http://www.google-analyt...) vedo che lo steso non mi blocca 11 cookie, che analizzati risultano essere tutti legati a GA, forse sbaglio qualcosa ? Ovviamente potrai lasciarli visto che ho reso analitycs anonimo.
2) La maggior parte dei miei siti/blog sono su Host Altervista, che ha implementato il pannello di wordpress con una versione proprietaria di IUBENDA, dato che mi piace il banner con informativa e informativa estesa, vorrei lasciarlo e farlo condividere con EUcookielaw, secondo te ci sono conflitti o problematiche ?
Colgo l’occasione per ringraziarti e augurarti una buona giornata.
Ottimo plugin, e di facile configurazione. Grazie
[…] sul nostro computer attraverso un qualunque sito partner è pubblicata in questo post di Diego La Monica, che invece ha il grande merito di aver sviluppato uno script e un plugin di […]
Domanda, visto che io ancora non ho capito quasi niente e quindi non sono in grado di definire un mio testo per il banner, cosa succede se prendo spunto, per ipotesi, dal tuo? Violo qualche tuo diritto?
Grazie
Assolutamente non violi alcun diritto. Ritengo di non aver scritto un testo estremamente valido dal punto di vista legale ma almeno arriva il messaggio all’utente. Se vuoi sei libera di copiarlo… Però se dovessi avere problemi con qualche utente che naviga sul tuo sito per una policy mal riportata, ti prego di condividere anche la grana, almeno ci adeguiamo un po’ tutti :-)
Io che sono proprio ingnorante ho un altra domanda da fare… quell’elenco di siti che ha indicato sono i domini che bisogna elencare nella casella DOMINI BLOCCATI?
Scusami, semobro un po’ la pazza dell’ultimo momento, ma avevo chiesto a qualcuno che mi risolvesse il problema a pagamento ma non l’ho ancora fatto
Le domande, anche le più stupide (e ti garantisco che la tua non lo è), aiutano anche altri utenti che possono avere le tue difficoltà.
Ti confermo che i siti che ho indicato sono da riportare nei domini bloccati, ma non necessariamente tutti, solo quelli dei servizi che effettivamente il tuo sito adotta.
Ciao, mi chiedo una cosa: da quanto ho capito (e messo in pratica) la legislazione italiana dice che non è necessario bloccare i cookie preventivamente perché si suppone il consenso dell’utente, sempre secondo la normativa italiana, sia implicito (riferimento a quanto dico qui: http://www.cookie-laws.com/italian-cookie-law/).
Sono informazioni fondate che tu sappia? Grazie del plugin e della tua eventuale risposta. Ciao!
Ciao, complimenti per la soluzione trovata.
Per quanto riguarda disqus e gli iframe di codepen come ci si deve comportare per il blocco preventivo dei cookie?
Non so se codepen profila gli utenti, non ne sono certo, comunque ad esser cauti, direi di bloccarli, poi se arrivano chiarimenti da codepen che dichiara che i suoi cookie non hanno scopo di profilazione allora puoi anche decidere di toglierlo.
Come noti tra l’altro codepen non è menzionato tra i domini da bloccare.
Salve Diego ho testato il plugin e almeno per google adsense arriva il blocco preventivo. Ho difficoltà invece ha bloccare preventivamente i banner dei circuiti linkwelove, juiceadv, criteo e payclick. Riesce a darmi una soluzione? Spero la domanda possa servire anche ad altri visto che sono dei circuiti che molti siti utilizzano. Grazie in anticipo.
Salve,
da quanto so i circuiti che ha menzionato propongono l’uso di elementi iframe/script per proporre pubblicità nella pagina.
Supponendo che lei stia utilizzando il plugin per WordPress, o comunque integrando la soluzione con la componente lato server, quello che lei dovrebbe fare è sintetizzabile in queste due semplici operazioni:
Spero di averle fornito delle indicazioni chiare e risolutive.
Suggerisco: #cookielaw: the day after (v. 0.9)
Un esame delle casistiche più comuni cercando di individuare le migliori soluzioni.
http://wp.me/p5ltXn-df