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
- Scarica Cookiekit [ZIP]
- Carica il file cookiekit.php nel tuo server.
- 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!