Mi aiutate ad adeguare i miei siti alle nuove norme sui cookies?

  • Creatore Discussione Creatore Discussione frk
  • Data di inizio Data di inizio
cio
nell'esempio vedo
HTML:
<h1>Parte della pagina visibile prima del consenso</h1>
potresti mettere il il richiamo alla pagina
HTML:
<h1>...<a href="pagina.htm">leggi<a>...

se non ti dispiace posso usarlo? ho una pagina html per cui non posso usare php

Certo che puoi usarlo, non è nemmeno farina del mio sacco! :D

Per quanto riguarda il consiglio purtroppo il link alla informativa estesa deve essere contenuto nel banner in sovrimpressione.
 
ciao
se senza cliccare selezioni in vari siti il cosiddetto banner e guardi il sorgente ti accorgi che non è altro che un div che contiene la scritta e il codice, quindi potresti fare
HTML:
<body>
<div style="background-color:#999999; color:#000000; text-align:center; "><!-- o in css esterno-->
<h1>se vuoi saperne di pi&ugrave; leggi <a href="cazzata.html" target="_blank">COOKIE POLICY</a></h1>
<script type="text/javascript">
if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
    alert("Questo sito NON utilizza cookies per una precisa scelta a tutela della privacy ma è presente codice di terze parti che potrebbe utilizzarne e chiudendo questo avviso si acconsente");
    document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
}
</script>
</div>
eccetera.....
</body>
dove al background-color dai lo stesso colore del'alert
 
ciao
se senza cliccare selezioni in vari siti il cosiddetto banner e guardi il sorgente ti accorgi che non è altro che un div che contiene la scritta e il codice, quindi potresti fare
HTML:
<body>
<div style="background-color:#999999; color:#000000; text-align:center; "><!-- o in css esterno-->
<h1>se vuoi saperne di pi&ugrave; leggi <a href="cazzata.html" target="_blank">COOKIE POLICY</a></h1>
<script type="text/javascript">
if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
    alert("Questo sito NON utilizza cookies per una precisa scelta a tutela della privacy ma è presente codice di terze parti che potrebbe utilizzarne e chiudendo questo avviso si acconsente");
    document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
}
</script>
</div>
eccetera.....
</body>
dove al background-color dai lo stesso colore del'alert

Grazie ma il mio problema è sempre lo stesso: finchè l'utente non clicca sul consenso non si deve caricare la pagina sotto, altrimenti adsense carica un cookie e io sono già fuorilegge.

Purtroppo nessun div può bloccare il caricamento della pagina html su cui si trova.

Quindi, se uso il div come tutti, non va bene perchè non blocca la pagina con gli script "profilanti", se invece uso l'alert non va bene perchè non c'è il link all'informativa...
 
ciao
ho fatto una prova nella mia home, se il cookie non esiste la parte sotto il div non si carica e (ma farò altre prove) non si formano altri cookies a parte il alert_shown, il problema (almeno per me) è al clik sull'alert come far sparire anche la scritta che linka la pagina della cookie policy
la pagina completa si carica e si vede solo dopo aver confermato sull'alert, domani faccio un altro paio di prove con una mezza idea che mi è venuta
 
Allora da quello che mi sovviene la prima cosa è usare il metodo window.stop() ma purtroppo non è supportato da IE nessuna versione.
Avrei un paio di altre idee ma sono tutte da testare e verificare. ora sono di fretta. appena possibile ve le espongo
Ciao
 
Innanzitutto grazie a tutti per la partecipazione e la disponibilità, è bello vedere tanta solidarietà tra webmasters, mi riporta allo spirito pionieristico del web anni '90 :)

Oggi, intanto, vorrei sviluppare l'idea della "var confirm" con pulsante annulla che visualizza la cookie policy, poi la condividerò con voi.

Ovviamente mi incuriosisce molto la soluzione di borgo italia che voglio esplorare anche io, così come non vedo l'ora di sentire le idee di Max 1.

Buon lavoro a tutti, ci si rilegge più tardi :byebye:

PS. Volevo ringraziarvi dei posts ma il pulsante dei ringraziamenti non mi funziona, forse per via del blocco che ho applicato ai vari domini google, vedo che il forum ne carica diversi...
 
Ultima modifica:
Questa è l'idea che mi era venuta:

Codice:
<script type="text/javascript">
<!--
if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
var answer = confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo. Cliccare su 'Annulla' per maggiori dettagli.")
if (!answer)
window.location="cookie_policy.html"
document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
}
// -->
</script>

Inserito nel tag head blocca il caricamento della pagina. Se si clicca si OK si carica la pagina, se si clicca su annulla rimanda alla informativa estesa.

Lo so, è banale e niente affatto elegante, ma intanto ho una ancora di salvataggio se non riesco a implementare nulla di migliore.

esempio
(dovete cancellare il cookie se avevate visto gli esempi precedenti)
 
ciao
ho modificato
Codice:
window.location="cookie_policy.html";
con
Codice:
window.open("cookie_policy.php", "_blank","width=800,height=600,location=0,menubar=0,scrollbars=1,status=1,resizable=0");
però mi sembra che ci sia un piccolo problema
se l'utente clicca su "annulla" per leggere la pappardella comunque da il suo assenzo, che potrebbe essere non vero.
si può distinguere (e quindi non creare il cookie) tra "accetto" e "annulla" se l'utente vuole solo leggere la pappardella e non accettare?
 
Ciao, allora giusto per ghiribizzo ho provato a pensare, in modo tecnico, a qualche idea riguardo la tua esigenza.

Soluzione 1
Teoricamente basterebbe un confirm() all'inizio dell'head in modo da mantenere in "standby" il caricamento del resto della pagina, dal punto in cui viene lanciata la finestrella modale fino a quando non si preme "OK" o "Annulla". A quel punto sarà possibile operare di conseguenza in base alla risposta dell'utente.
Di contro c'è il fatto che la finestra non si presta a troppe personalizzazioni e non si tratta di un banner; da perfetto ignorante non so cosa prevedono i dettagli di legge e se possa essere una soluzione accettabile.
L'ideale sarebbe se esistesse una funzione standby() che interrompa momentaneamente il caricamento della pagina, proprio come fa la finestrella modale, ma senza finestrella modale. Non credo esista.
codice:

Codice:
var confermacookie = confirm('Questo sito fa uso di cookie.\nPremendo "OK" si da conferma di voler proseguire con la navigazione di questa pagina.\nPremendo "Anulla" si verrà buttati fuori.');
if (!confermacookie) location.href = 'perchènonhaiaccettato.html';

Soluzione 2
Esiste il metodo window.stop() che, esattamente, interrompe il caricamento della pagina, proprio come quando si preme la [X] visibile a fianco alla barra degli indirizzi, quando si sta caricando la pagina. Subito dopo la visualizzazione del banner potrebbe essere lanciato lo stop, fino a quando l'utente non da una risposta.
Da tener conto che IE non supporta questo metodo, per cui bisogna usare un ulteriore accorgimento.
Una roba del genere:
codice:

Codice:
if (document.documentMode) document.execCommand("Stop"); // per IE
else window.stop(); // per il resto del mondo

Peccato che non esista una funzione continue() che riprenda il caricamento da dove era stato interrotto. In tal caso, se l'utente dà conferma, si dovrebbe salvare un qualche cookie o una variabile localStorage per poi ricaricare interamente la pagina e saltare quindi il controllo col banner, già confermato.

Soluzione 3
Qui mi sono sforzato parecchio, in giro ho visto qualcosa del genere ma non relativamente al discorso dei cookie.
L'idea è quella di commentare le parti (all'interno della pagina HTML) che si vuole mantenere inattive finché non si dà la conferma.
Sostanzialmente si tratta di un semplice commento HTML, per cui non viene eseguito al caricamento della pagina, ma sarà poi "decommentato" attraverso JavaScript. In teoria si potrebbe commentare l'intero contenuto del body o dell'head o di tutto il tag html ma per mantenere comunque valida la pagina (nonostante i commenti) e perché la pagina stessa sia indicizzabile, sarà possibile commentare opportunamente giusto le parti che gestiscono i cookie. Ora non ho idea di quale sia esattamente la tua situazione, ma ti posto un esempio per capire se può essere un'idea valida.
Ho usato jQuery per pigrizia ma, volendo, sono sicuro che si può fare anche con Vanilla JavaScript senza troppi problemi.
codice:
Codice:
<!DOCTYPE HTML>
<html>
  <head>
    <title>Esempio</title>
    <meta charset="utf-8">
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
      $(function(){
        $("#confermo").click(function(){
          $(this).remove();
          $('head,body').each(function(){
            $(this).html($(this).html().replace(/<!--RICHIESTA_CONFERMA([\s\S]*?)-->/g,"$1"));
          })
        })
      })
   </script>
   <!--RICHIESTA_CONFERMA
    <style type="text/css">
      /* Questo CSS è attivo solo dopo che hai confermato */
      body{background:tan}
    </style>
    -->
  </head>
  <body>
    <input id="confermo" type="button" title="NON ACCETTARE I BISCOTTI DAGLI SCONOSCIUTI!!!" value="Accetti i biscotti?">
    <p>Qui puoi mettere della roba che vuoi rendere già visibile.</p>
    
    <!-- Questo è un normale commento che non sarà decommentato
      mentre quello sotto sarà decommentato dopo la conferma
    -->

    <!--RICHIESTA_CONFERMA
    <p><b>Questa roba è attiva solo dopo che hai confermato</b></p>
    -->
    
  </body>
</html>

Non ho fatto troppi test.

Ribadisco che sono giusto delle idee che finiscono qui!



.
 
però mi sembra che ci sia un piccolo problema
se l'utente clicca su "annulla" per leggere la pappardella comunque da il suo assenzo, che potrebbe essere non vero.
si può distinguere (e quindi non creare il cookie) tra "accetto" e "annulla" se l'utente vuole solo leggere la pappardella e non accettare?

Hai perfettamente ragione borgo, ma il cookie che viene scritto riguarda solo il fatto che l'avviso sia stato mostrato o meno: avevo pensato di rimuovere qualunque script dalla pagina della informativa estesa, così se l'utente vuol solo leggerla non accetta nessun cookie di profilazione. Poi, se dopo aver visto l'informativa decide di non acconsentire, gli basterà lasciare il sito digitando un altro URL o scegliendo un sito dai suoi preferiti/segnalibri.
La documentazione del garante della privacy dice che va bene anche così, basta scrivere che, procedendo con la navigazione del sito si acconsente implicitamente all'uso dei cookies.

Oppure, ma potrei sbagliarmi, non ci capisco molto di javascript, basta spostare la riga "document.cookie" più in alto, in modo che il cookie venga scritto solo se si clicca OK...

Codice:
<script type="text/javascript">
<!--
if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
var answer = confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo. Cliccare su 'Annulla' per maggiori dettagli.")
document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
if (!answer)
window.location="cookie_policy.html"
}
// -->
</script>

...ho detto una cappellata?
 
Ciao, allora giusto per ghiribizzo ho provato a pensare, in modo tecnico, a qualche idea riguardo la tua esigenza.

WOW, hai fatto un lavorone, grazie davvero per il tempo dedicato!

La prima soluzione, come hai giustamente detto, è la meno configurabile e presta il fianco a qualche dubbio sulla sua rispondenza a quanto prescritto dal garante, però è quella più facilmente implementabile (con Homesite mi basta un clic per sostituire il l'head di centinaia di pagine HTML con quello contenente lo script).

La seconda, mi sembra di capire, non carica da sola tutta la pagine quando l'utente acconsente, ma dovrà essere ricaricata "a mano"...

La terza è davvero un colpo di genio, complimenti, ma richiede un pò di lavoro in più dovendola adottare su centinaia di pagine, anche se la sostituzione multipla può esser d'aiuto anche in questo caso.

Appena ho tempo le proverò, nel frattempo ancora un enorme GRAZIE!
 
Oppure, ma potrei sbagliarmi, non ci capisco molto di javascript, basta spostare la riga "document.cookie" più in alto, in modo che il cookie venga scritto solo se si clicca OK...

Codice:
<script type="text/javascript">
<!--
if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
var answer = confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo. Cliccare su 'Annulla' per maggiori dettagli.")
document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
if (!answer)
window.location="cookie_policy.html"
}
// -->
</script>

...ho detto una cappellata?

Confermo, ho detto una cappellata... :-(

Il cookie viene scritto sia se si clicca OK sia se si clicca Annulla, dovunque venga messa la riga che lo scrive...

Purtroppo la mia limitatissima conoscenza di javascript non mi consente di venirne a capo. Qualcuno sa come fare a far scrivere il cookie SOLO se si clicca su OK, in una finestra del tipo "var = confirm"?
 
ciao
anch'io digerisco poco js, ma da quello che capisco tu verifichi la variabile answer che (sempre da quello che capisco) risulta false se clicchi su 'annulla'
quindi se clicchi invece su 'OK' dovrebbe risultare true (a rigor di logica), quindi potresti provare a modificare
Codice:
<script type="text/javascript">
<!--
if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
	var answer = confirm ("Questo sito utilizza cookies di terze parti, cliccando su OK acconsenti all'utilizzo. Cliccare su 'Annulla' per maggiori dettagli.")
	if (!answer){
		window.location="cookie_policy.html";
	}else{
		document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
	}
}
// -->
</script>
quindi (forse) il cookie si forma solo se clicchi su 'OK'
mal che vada ho detto una cappellata anch'io (mal comune mezzo gaudio)
 
Grazie, me l'avevan già suggerito altrove, ma a me così non funziona proprio, nel senso che non apre più la finestra di dialogo nemmeno alla prima visita (cookie cancellati).
 

Discussioni simili