Guida Videoguida Come creare un banner per i Cookie e Privacy su bootstrap

nfvblog

Moderatore
9 Dicembre 2021
664
67
327
450
Ultima modifica:

Come creare un banner per i Cookie e Privacy su bootstrap 5​


Visto che non ho trovato molti video in merito online ho dovuto effettuare delle ricerche approfondite sul argomento, infatti, oggi giorno tutti utilizzano dei servizi a pagamento per generare automaticamente i propri banner per segnalare alla propria utenza i cookie e le info sulla privacy, come scritto nel GDPR dell'Unione Europea, per questo motivo tutti i tutorial in italiano parlano di servizi più che dell'aspetto della programmazione, per questo motivo ho deciso di fare un video io, per quanto comunque ho scelto di fare un video dedicato all'argomento.

1    Codice e funzionamento

Allora, ho utilizzato un così detto modal che consente di creare un popup in modo semplice e veloce, onestamente è il metodo più semplice sotto bootstrap.
HTML:
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Bootstrap demo</title>
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
  </head>
  <body>
    <h1>Hello, world!</h1>
<!-- Button trigger modal -->
    <!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#cookiePopup">
  Launch static backdrop modal
</button>

<!-- Modal -->
<div class="modal fade" id="cookiePopup" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h1 class="modal-title fs-5" id="staticBackdropLabel">Cookie e privacy</h1>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body align-items-center align-self-center text-center"> <!-- compo in cui sono presenti le info -->
        <p>Questo sito utilizza cookies per personalizzare i contenuti, in caso di declino, non saranno disponibili alcune funzionalità.</p>
      </div>
      <div class="modal-footer">
        <a class=" align-items-center" href="#">Scopri di più<i class="fa fa-angle-right ml-2"></i></a> <!-- in questo campo bisogna sostituire il # con il link della propria pagina che rimanda alle info sulla privacy -->
        <button type="button" id="accetta" class="btn btn-dark btn-primary" data-bs-dismiss="modal"  onclick="document.cookie='accettato=rifiuto'">Non acconsento</button>
    <button type="button" id="accetta" class="btn btn-dark btn-secondary" data-bs-dismiss="modal"  onclick="document.cookie='accettato=visto'">Accetta</button>
      </div>
    </div>
  </div>
</div>
    <script src="https://code.jquery.com/jquery-3.6.3.slim.js" integrity="sha256-DKU1CmJ8kBuEwumaLuh9Tl/6ZB6jzGOBV/5YpNE2BWc=" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
    <script type="text/javascript">
      $(document).ready(function(){
      if(document.cookie.indexOf('accettato') >=0){ // caso in cui l'utente ha accettato i cookie.
      } else {
          $('#cookiePopup').modal('show'); // apre il cookie banner automaticamente appena apre la pagina
      }
      });
    </script>
  </body>
</html>
È disponibile nel mio repository github, il nome del repo è Materiale-desempio, che conterrà tutti i materiali che mostrerò nei pochi video di programmazione del canale.

1.1    Video dedicato



Vedi: https://www.youtube.com/watch?v=rp3FY9jfWYo
 
  • Mi piace
Reazioni: MRPants
Ciao! Ti ricordo che per le direttive europee, il consenso non può essere forzato, devi quindi obbligatoriamente mettere un tasto "Rifiuta" nel footer.
Nel caso l'utente rifiutasse, devi chiaramente modificare le funzionalità del sito per rispettare la volontà dell'utente.

Inoltre, finché l'utente non clicca "accetta", non puoi rendere disponibile le funzionalità che richiedono, appunto, di accettare la policy stessa.

Ho anche due domande: gli utenti entreranno nel sito da url diversi, come suggerisci di includere il popup in tutte le pagine?

E, se abbiamo il pop-up anche nella pagina della privacy policy, come facciamo a far leggere la policy?

Grazie per il contenuto :)
 
Ciao! Ti ricordo che per le direttive europee, il consenso non può essere forzato, devi quindi obbligatoriamente mettere un tasto "Rifiuta" nel footer.
Nel caso l'utente rifiutasse, devi chiaramente modificare le funzionalità del sito per rispettare la volontà dell'utente.

Inoltre, finché l'utente non clicca "accetta", non puoi rendere disponibile le funzionalità che richiedono, appunto, di accettare la policy stessa.

Ho anche due domande: gli utenti entreranno nel sito da url diversi, come suggerisci di includere il popup in tutte le pagine?

E, se abbiamo il pop-up anche nella pagina della privacy policy, come facciamo a far leggere la policy?

Grazie per il contenuto :)
si lo puoi rifiutare, questo è un banner provvisorio, ovviamente scritto localmente come in questo caso si ripete solo in alcune pagine e purtroppo se fatto in js apparirà in tutte le pagine in cui è presente lo script, cosa che si può ovviare in php, ovviamdente è mio interesse comunque andare a modificarlo per essere attinente alla normativa, ovviamente il banner non deve essere presente nella pagina delle info e policy, questa è una scelta che fai tu di dove posizionarlo.