Informare sull'utilizzo dei cookies

  • 23 Sep 2014
  • Drupal 7, jQuery

Non è un requisito informare sull'utilizzo dei cookies. Perchè come nel mondo reale, ci sono cookies e cookies. Il sito ico.org.uk che due minuti fa non conoscevo dice:

In June 2012, European data protection authorities (as part of the Article 29 Working Party) adopted an opinion which clarifies that some cookie uses might be exempt from the requirement to gain consent:
  • Some cookies can be exempted from informed consent under certain conditions if they are not used for additional purposes. These cookies include cookies used to keep track of a user’s input when filling online forms or as a shopping cart, also known as session-id cookies, multimedia player session cookies and user interface customisation cookies, eg language preference cookies to remember the language selected by the user.
  • First party analytics cookies are not likely to create a privacy risk if websites provide clear information about the cookies to users and privacy safeguards, eg a user friendly mechanism to opt out from any data collection and where they ensure that identifiable information is anonymised.

Adesso immaginiamo di dover informare i visitatori che il nostro sito fa utilizzo dei cookies. L'idea è di creare un blocco con un testo che dica più o meno:

Al fine di migliorare la Sua navigazione, La informiamo che questo sito fa uso di Cookies. Continuando la navigazione, si considera accettata l’installazione dei cookies sul Suo computer.

Utilizzare il modulo Block Class per impostare facilmente una classe che lo nasconda. Se stiamo utilizzando un theme con Bootstrap possiamo fare uso della classe hidden.

Drupal block

Il visitatore avrà a disposizione un tasto per "chiudere" il blocco e non vederlo più, al meno fino ad un tot di tempo (alla scadenza del cookie).

Il codice HTML del blocco potrebbe essere più o meno così:

<p>Al fine di migliorare la Sua navigazione, La informiamo che questo sito fa uso di <strong>Cookies</strong>. Continuando la navigazione, si considera accettata l’installazione dei cookies sul Suo computer.</p>

<p><button class="btn btn-default btn-xs" type="button">Chiudi</button></p>

Adesso con un po' di codice jQuery daremo vita al bottone. Nel caso in cui non fosse mai stato premuto, faremo apparire il blocco rimovendo la classe hidden.

var cookie = "eu-cookie-accept";
$(".eu-cookie-law .btn").click(function(){
  $(".region-top").slideUp(
    300,
    function(){
      $(".eu-cookie-law").hide();
      
      // expires
      var date = new Date();
      var d = 7;
      date.setTime(date.getTime() + (d * 3600 * 60 * 1000));
      
      // set cookie
      $.cookie(cookie, 1, {expires: date});
    }
  );
});
if (parseInt($.cookie(cookie)) != 1) {
  $(".eu-cookie-law").removeClass("hidden");
}