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

frk

Utente Attivo
22 Ott 2009
52
1
8
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.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
 

frk

Utente Attivo
22 Ott 2009
52
1
8
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...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
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
 

frk

Utente Attivo
22 Ott 2009
52
1
8
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:

frk

Utente Attivo
22 Ott 2009
52
1
8
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)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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?
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
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!



.
 

frk

Utente Attivo
22 Ott 2009
52
1
8
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?
 

frk

Utente Attivo
22 Ott 2009
52
1
8
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!
 

frk

Utente Attivo
22 Ott 2009
52
1
8
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"?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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)
 

frk

Utente Attivo
22 Ott 2009
52
1
8
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
Autore Titolo Forum Risposte Data
trattorino [Javascript] effetto carino sul click mi aiutate? Javascript 1
trattorino mi aiutate a capire? guadagni adsense Guadagnare col Sito 0
L mi aiutate con questa regola? Apache 3
felino Google: mi aiutate a capire questa situazione? SEO e Posizionamento 8
L Mi aiutate nella scelta dell'hosting? Hosting 5
S Mi aiutate a capire questi errori? Wordpress WP 3.3.1 error_log CMS (Content Management System) 3
giancadeejay Aprire sito in rotazione con un bottone mi aiutate Javascript 2
S Mi aiutate a cambiare il colore di sfondo dei post ? HTML e CSS 2
S Mi aiutate per favore? HTML e CSS 1
SolidSnake4 mi aiutate ? PHP 2
E Mi aiutate? Classic ASP 0
G Aiutate un proncipiante.................. PHP 13
T aiutate una tesista ... Sicurezza e Virus 10
K Aiutate un niubbo... HTML e CSS 14
C Mi Aiutate Se No Non Riesco A Finire Il Mio Sito HTML e CSS 1
S Sto cercando di correggere i miei modelli di Handbase HTML e CSS 1
D Ical: Sto realizzando un gestionale per i miei appartamenti di casa vacanza PHP 0
C I miei ossequi! Presentati al Forum 0
M Essendo un nuovo Iscritto vi porgo i miei saluti più sinceri e vi auguro un buon lavoro a tutti Presentati al Forum 1
N VENDO I MIEI CANALI Annunci servizi di Social Media Marketing 1
kiai969 Link tra 3 siti miei SEO e Posizionamento 2
M [CERCO] persona per spam nei miei gruppi personali Annunci servizi di Social Media Marketing 1
ragazzesexy cerco scambio banner e link per miei siti Offerte e Richieste di scambio links 5
Shyson Mettere contaviste ai miei articoli PHP 1
A posso mettere i miei contenuti di un sito usa in un sito in australia SEO e Posizionamento 2
G Errore quando Sto ospitando i miei siti ASP.NET ASP.NET 1
filippino facebook: come inglobare i miei ultimi post nel mio sito web? HTML e CSS 1
P individuare i miei clienti online SEO e Posizionamento 3
M Compro fans italiani per miei clienti - pago 10€/1000 Annunci servizi di Social Media Marketing 0
N I miei siti per il web mobile Presenta il tuo Sito 0
Z ecco i miei forums e blog Presenta il tuo Sito 3
I Cosa ne pensate dei miei lavori? Presenta il tuo Sito 2
P presento i miei siti Presenta il tuo Sito 0
R miei siti Presenta il tuo Sito 0
salkappa2 dei figli miei - (omaggio al prete stupratore) Discussioni Varie 0
S pubblicare i miei template Supporto Mr.Webmaster 1
P vi presento i miei siti Flash 0
P Vi Presento I Miei Siti Presenta il tuo Sito 0
U i miei lavori Presenta il tuo Sito 4
N I miei siti web Presenta il tuo Sito 8
A I miei siti... Presenta il tuo Sito 14
D i miei siti... Presenta il tuo Sito 0
M Parere sui miei siti... Presenta il tuo Sito 2
virtuale Scaricare miei file mp3 dal sito HTML e CSS 2
M date il vostro parere ai miei primi lavori pls ?? Flash 0
B i miei utenti si lamentano!!! Supporto Mr.Webmaster 1
B aiutatemi! non si vedono + i miei siti!!! Supporto Mr.Webmaster 3
A Alcuni dei miei siti...consigli per migliorare! Presenta il tuo Sito 0
S Miei siti Presenta il tuo Sito 5
E Salve questi sono i miei siti.... Presenta il tuo Sito 13

Discussioni simili