Attenzione! Stai navigando il vecchio sito
Vai alla nuova homepage »
Impegni permettendo sto rinnovando il sito. Le informazioni che trovi in questo vecchio sito sono obsolete e mano a mano verranno rimpiazzate.

Cookiekit (PHP) - Soluzione completa GRATUITA per l'adeguamento alla Legge sui Cookie

Scritto da Marco Panichi il Aggiornato il

La cookie law e tutta la confusione che ne deriva è una bella gatta da pelare per noi programmatori.

Sono sorte innumerevoli soluzioni per gesitre l’adeguamento. Cito ad esempio Iubenda e il plugin per WordPress WeePie, passando per i vari script fatti in casa più o meno diligenti.

A questi vorrei aggiungere il mio script Cookiekit ed è un solo file php molto leggero in grado di gestire tutti gli aspetti dell’adeguamento.

 


Un ringraziamento a Francesco Sciolti

Alcune parti del mio script sono state tratte dalla soluzione proposta da Francesco Sciolti.

ATTENZIONE: Cookiekit è uno script giovane

Avvaliti di Cookiekit solo se hai competenze di programmazione di medio livello e nessuna delle altre soluzioni non ti hanno soddisfatto!

Inoltre ti invito a condividere nei commenti le tue impressioni e critiche per aiutarmi a migliorare lo script!

ATTENZIONE: Se usi un sistema di cache, Cookiekit non funziona!

Sto risolvendo questo problema!

Nel frattempo sappi che se usi un sistema di caching (ad esempio plugin per WordPress come WP Total Cache o WP Super Cache) lo script non funzionerà come deve.

Perché usare Cookiekit

Come detto in apertura, il mio script si inserisce nella selva di soluzioni sorte per sollevare i programmatori dall’ingrato compito di adeguare il proprio sito web o i siti dei propri clienti (nel caso di freelance e web agencies).

Io ho cercato di usare alcune di queste soluzioni ma dopo vari tentativi e dopo un attento studio della situazione ho preferito implementare la mia soluzione. Eccone i vantaggi:

Blocco preventivo dei Cookies

  • Compresi quelli di terzi.
  • L’azione di blocco è selettiva e può essere configurata per categorie di cookies (tecnici, profilazione, di terzi, ecc).
  • Quando un widget (trip advisor, facebook like, google maps, disqus) viene bloccato, compare un riquadro che informa l’utente del blocco e gli permette di sbloccare il contenuto cliccando un pulsante.

Generazione automatica del banner

  • Con tanto di informativa breve
  • Link alla Cookie Policy
  • Pulsante accettazione
  • Pulsante negazione (opzionale)

Generazione automatica della Cookie Policy

  • Tutti i punti necessari per essere in regola (*)
  • Elenco dei cookies usati dal sito, divisi per categorie e riportanti le finalità
  • Checkbox per l’attivazione / disattivazione selettiva di ciascuna categoria di cookie
  • Diciture personalizzabili (titolo, nome azienda, nome sito, data aggiornamento, ecc)

(*) Non ho competenze legali e non mi prendo la responsabilità dell’uso che farai della Cookie Policy generata.

Molte altre funzionalità

  • GOOGLEBOT & CO: gli spider dei motori non vedranno il banner/popup e nemmeno i widget bloccati
  • REGISTRO DEI CONSENSI: ogni ip address avrà un file txt dove saranno registrate le sue impostazioni (richiesto dal Garante!)
  • CONSENSO IMPLICITO: possibilità di acquisire il consenso dell’utente tramite segnali impliciti (prosecuzione della navigazione, scroll, click fuori dal banner, chiusura del banner)
  • MODAL: versione popup del banner
  • ON/OFF: possibilità di accendere/spengere il cookiekit
  • ID: id che sarà assegnato come prefisso a tutti gli elementi html/js e ai cookies; utile per evitare conflitti con markup preesistente
  • BASE URL: utile in caso di più siti in stesso server
  • IP WHITELIST: possibilità di spengere cookiekit se il richiedente ha un determinato ip address
  • DOC: documentazione configurazioni facili

Un solo file, leggero e solido

  • Un solo file php da includere
  • Configurazione centralizzata
  • Generazione automatizzata di javascript e cookies
  • Nessuna necessità di CSS esterni
  • Possibilità di modificare i contenuti creati automaticamente in maniera facile (nello stesso file)

Prerequisiti – Situazioni nelle quali puoi usare il Cookiekit

Per poter lavorare con il mio kit occorre:

  • che il sito si avvalga di php
  • accesso ai files php
  • conoscenza php media
  • libreria jQuery
  • libreria jQuery Cookie

Installazione e configurazione

1) Upload e configurazione

  1. Scarica Cookiekit [ZIP]
  2. Carica il file cookiekit.php nel tuo server.
  3. Entra nel file cookiekit.php e configura a piacere dove indicato

2) In tutte le pagine del tuo sito

Nell’html Includi jQuery e la libreria jQuery Cookies

<script src='percorso/al/file/jquery.js'></script>
<script src='percorso/al/file/jquery.cookie.js'></script>

Nel php Includi il file cookiekit.php e renderizza il banner (javascript e html)

require( "percorso/al/file/cookiekit.php" ); // all'inizio dello script
echo cookiekit::banner_javascript(); // genera codice tipo <script>...</script>
echo cookiekit::banner_html(); // genera codice html tipo <div id='cookie_banner'>...</div>

NOTA: Vuoi evitare che banner_javascript “wrappi” il codice con i tag <script>? scrivi cookiekit::banner_javascript(false);

3) La Cookie Policy

Crea una pagina Cookie Policy che chiaramente conterrà le istruzioni di cui al punto precedente. Oltre a quelle scriverai:

echo cookiekit::policy_javascript(); // genera codice tipo <script>...</script>
echo cookiekit::policy_html(); // genera codice html tipo <div id='cookie_banner'>...</div>

COME AL PUNTO 2: Vuoi evitare che policy_javascript “wrappi” il codice con i tag <script>? scrivi cookiekit::policy_javascript(false);

4) Inibizione dei Cookies (compresi quelli di terzi)

Laddove necessario andrai a “wrappare” il codice che genera i cookies in questo modo:

if( cookiekit::check(<NOMECOOKIE>) ) echo " ...google analytics... ";
else cookiekit::blocco_html();

if( cookiekit::check(<NOMECOOKIE>) ) echo " ...facebook like button... ";
else cookiekit::blocco_html();

if( cookiekit::check(<NOMECOOKIE>) ) echo " ...disqus commenti... ";
else cookiekit::blocco_html();

NOTA: <NOMECOOKIE> si riferisce all’identificativo che hai dato alla categoria di cookies al momento della configurazione

5) Test (su tutte le pagine!)

Testa il funzionamento del Cookiekit in maniera approfondita! Ti ricordo che 1) io ce la metto tutta per dare il mio contributo alla comunità ma non sono il Dio dei Biscotti – usa la tua testa e sopratutto il tuo avvocato per adeguare il tuo sito web! 2) I cookie, soprattutto quelli di terzi, vengono installati quando codice di terzi è presente nelle pagine e non tutte le pagine lo contengono – esempio: i cookie della Google Maps li trovi solo nella pagina “Dove Siamo” – ergo controlla tutte le pagine del tuo sito!

Per testare la presenza dei cookies in una pagina puoi usare Chrome, pigi F12, vai al tab Resource e sulla destra trovi la voce Cookies. Qui hai una voce per il tuo sito ed eventualmente per le terze parti.

Aiuti, commenti, suggerimenti

Per qualsiasi cosa non esitare ad inserire commenti qui sotto.

In questo periodo un pò acceso il mio tempo di risposta può variare da 1 a 5 giorni (< è un’eternità lo so!) ma se c’è una cosa a cui tengo è di rispondere a TUTTI i commenti!

Commenti

Informativa
Noi e terze parti usiamo strumenti di tracciamento (cookie e tecnologie affini) per finalità tecniche e, con il tuo consenso, anche per altre finalità specificate nella Cookie Policy. In qualsiasi momento puoi liberamente prestare, revocare o rifiutare tale consenso. Per ulteriori informazioni vedi: Privacy Policy - Cookie Policy
X
Personalizza il tuo consenso
Da qui puoi esprimere le tue preferenze rispetto i cookie e le tecnologie che usiamo per le varie finalità. Ricordati che in qualsiasi momento puoi liberamente modificare queste preferenze. Per ulteriori informazioni vedi: Privacy Policy - Cookie Policy
Strumenti di tracciamento di terze parti INFO
Cookie o strumenti di tracciamento gestiti da terze parti. Essi sono strettamente necessari per garantire il funzionamento e la fornitura del servizio richiesto dall'utente e quindi non richiedono il suo consenso.
Miglioramento dell'Esperienza INFO
Cookie utili per fornire un'esperienza utente migliore e personalizzata, tramite la gestione delle impostazioni personali e l'interazione con piattaforme di terzi e network.
Misurazione INFO
Strumenti per misurare il traffico e analizzare il comportamento degli utenti con l'obiettivo di migliorare il servizio.
Targeting e Pubblicità INFO
Strumenti per fornire contenuti commerciali personalizzati in base al comportamento dell'utente e per gestire, diffondere e tracciare annunci pubblicitari.
X