phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Normativa Europea sui cookie, Legge sui cookie 2015

Supporto per phpBB 3.1.x.
Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Normativa Europea sui cookie, Legge sui cookie 2015

Messaggio da Sir Xiradorn » 27/05/2015, 12:53

@Anto: Sono riuscito a trovare la pagina che usa sto sistema: http://eeas.europa.eu/cookies/index_en.htm e da cui si può rubacchiare lo script. Per sicurezza e così ci possiamo lavorare vi posto gli script che sono presenti qua:

Codice: Seleziona tutto

/*
	by corvela
*/

var consentAccepted_JSON = false,
	consentRefused_JSON = false,
	consentAccepted_String = "",
	consentRefused_String = "",
	//euCookieConsent = {add:function(){},accepted:function(){},reset:function(){},refuse:function(){}},
	docLang = "en";

(function(win,doc){

	win.siteCookiesJSON	= {"a":{}};
	if (typeof consent_required_cookies !== 'undefined' && typeof consent_required_cookies["a"] !== 'undefined') {
		win.siteCookiesJSON = consent_required_cookies;
	}
	win.cookieNoticeUrl = win.cookie_notice_url||false;
	win.cckConfig = win.cck_config||{"ea_ignore":true};
	win.bannerDisplayed = false;
	
	var tag_add_st = '<a href="javascript:euCookieConsent.add()" role="button">';
	var tag_ref_st = '<a href="javascript:euCookieConsent.refuse()" role="button">';

	var _c = {
		euJSON : {jsonToString:function(obj){
			var r="{", i=0;
			for(var key in obj) {
				if(i>0){r +=','}
				r +='"'+key+'":';
				var t=typeof obj[key];

				if(t==="string"){r +='"'+obj[key]+'"'}
				else if(t==="number"){r +=obj[key]}
				else if(t==="boolean"){r +='"'+(obj[key])?"true":"false"+'"'}
				// we drop any function in the JSON otherwise you can "uncomment" the line below to "encode" this function and "break" the attack
				//else if(t==="function"){r +='"'+ encodeURIComponent(obj[key]) +'"'}
				else if(obj[key] instanceof Array){
					r +='[';
					for(var ii=0,ll=obj[key].length;ii<ll;ii++){
						if(ii>0){r +=','}
						r +='"'+obj[key][ii]+'"';
					}
					r +=']';
				} else if(t=="object"){
					r +=this.jsonToString(obj[key])
				}
				i++;
			}
			r +="}";
			return r;
		},
		stringToJson: function (text, reviver) {
			var j;
			var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;

			function walk(holder, key) {
				var k, v, value = holder[key];
				if (value && typeof value === 'object') {
					for (k in value) {
						if (Object.prototype.hasOwnProperty.call(value, k)) {
							v = walk(value, k);
							if (v !== undefined) {
								value[k] = v;
							} else {
								delete value[k];
							}
						}
					}
				}
				return reviver.call(holder, key, value);
			}

			text = String(text);
			cx.lastIndex = 0;
			if (cx.test(text)) {
				text = text.replace(cx, function (a) {
				return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
				});
			}

			if (/^[\],:{}\s]*$/
					.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
						.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
						.replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
				j = eval('(' + text + ')'); // now the eval function is "safe"
				return typeof reviver === 'function'
					? walk({'': j}, '')
					: j;
			}
			throw new SyntaxError('JSON.parse');
		}	
	},
		label:{
			"noconsent": {
				"en":'This part of the page requires cookies. ' + tag_add_st + 'I accept</a> / ' + tag_ref_st + 'I refuse</a> this site\'s cookies.',
				"bg":'Тази част от страницата изисква бисквитки. ' + tag_add_st + 'Приемам</a> / ' + tag_ref_st + 'Не приемам</a> всички бисквитки на този сайт.',
				"sl":'Ta stran zahteva piškotke. ' + tag_add_st + 'Sprejmem</a> piškotke na tej strani / ' + tag_ref_st + 'Ne sprejmem</a> piškotkov na tej strani.',
				"es":'Esta parte de la página requiere cookies. ' + tag_add_st + 'Acepto</a> / ' + tag_ref_st + 'Rechazo</a> todas las cookies de este sitio.',
				"cs":'Pro správnou funkci této části stránky je třeba povolit cookies. ' + tag_add_st + 'Povolit</a> / ' + tag_ref_st + 'Zakázat</a> cookies všude na těchto stránkách.',
				"da":'Denne del kræver, at du accepterer cookies. ' + tag_add_st + 'Jeg accepterer</a> / ' + tag_ref_st + 'Jeg accepterer ikke</a> cookies på hele dette site.',
				"de":'Dieser Teil der Seite erfordert Cookies. Sämtliche Cookies dieses Portals ' + tag_add_st + 'akzeptieren</a> / ' + tag_ref_st + 'ablehnen</a>.',
				"el":'Σ΄αυτό το τμήμα της σελίδας χρειάζονται cookies. ' + tag_add_st + 'Αποδέχομαι</a> / ' + tag_ref_st + 'Δεν αποδέχομαι</a> όλα τα cookies του ιστότοπου.',
				"el":'See lehekülje osa vajab küpsiseid. ' + tag_add_st + 'Nõustun</a> / ' + tag_ref_st + 'Ei nõustu</a> selle veebisaidi küpsistega.',
				"fi":'Tämä osa sivusta edellyttää evästeiden käyttöä. ' + tag_add_st + 'Sallin</a> evästeet tällä sivustolla / ' + tag_ref_st + 'En salli</a> evästeitä tällä sivustolla.',
				"fr":'Cette partie de la page nécessite des cookies. ' + tag_add_st + 'J\'accepte</a> / ' + tag_ref_st + 'je refuse</a> tous les cookies de ce site.',
				"ga":'Tá gá le fianáin ar an gcuid seo den leathanach. ' + tag_add_st + 'Glacaim le fianáin</a> / ' + tag_ref_st + 'diúltaím d\'fhianáin</a> uile an tsuímh seo.',
				"hr":'Za ovaj dio stranice potrebni su kolačići. ' + tag_add_st + 'Prihvati</a> / ' + tag_ref_st + 'odbaci</a> sve kolačiće ovog web-mjesta.',
				"hu":'A webhelynek ez a része cookie-kat használ. ' + tag_add_st + 'Elfogadom</a> / ' + tag_ref_st + 'nem fogadom el</a> a webhelyhez tartozó összes cookie-t.',
				"it":'Questa parte della pagina richiede i cookie. ' + tag_add_st + 'Accetto</a> / ' + tag_ref_st + 'Rifiuto</a> tutti i cookie dal sito.',
				"lt":'Kad galėtumėte naudotis šia puslapio dalimi, turite priimti slapukus. ' + tag_add_st + 'Priimu</a> / ' + tag_ref_st + 'Atsisakau priimti</a> visus šios svetainės slapukus.',
				"lv":'Šīs lapas daļas aplūkošanai ir vajadzīgas sīkdatnes. ' + tag_add_st + 'Es pieņemu</a> / ' + tag_ref_st + 'noraidu</a> visas šīs vietnes sīkdatnes.',
				"mt":'Din il-parti tal-paġna tirrekjedi l-cookies. ' + tag_add_st + 'Naċċetta</a> / ' + tag_ref_st + 'Nirrifjuta</a> l-cookies kollha ta\' dan is-sit.',
				"nl":'Dit gedeelte van de pagina gebruikt cookies. ' + tag_add_st + 'Ja, ik accepteer</a> / ' + tag_ref_st + 'Nee, ik accepteer geen</a> cookies van deze site.',
				"pl":'Ta część strony wymaga zaakceptowania cookies. ' + tag_add_st + 'Akceptuję wszystkie cookies na tej stronie</a> / ' + tag_ref_st + 'Nie akceptuję żadnych cookies na tej stronie</a>.',
				"pt":'O acesso a esta secção implica a aceitação de cookies. ' + tag_add_st + 'Aceito</a> / ' + tag_ref_st + 'Recuso</a> todos os cookies deste sítio.',
				"ro":'Această parte a paginii necesită cookie-uri. ' + tag_add_st + 'Accept</a> / ' + tag_ref_st + 'Refuz</a> toate cookie-urile acestui site.',
				"sk":'Táto časť stránky si vyžaduje použitie súborov cookies. ' + tag_add_st + 'Povoliť</a> / ' + tag_ref_st + 'Zakázať</a> všetky súbory cookies z tejto webovej lokality.',
				"sv":'Den här delen av sidan kräver kakor. ' + tag_add_st + 'Jag accepterar</a> / ' + tag_ref_st + 'Jag accepterar inte</a> kakorna på den här webbplatsen.'
			},
			"accept": {
				"en":"I accept cookies",
				"bg":"Приемам бисквитки",
				"es":"Acepto las cookies",
				"cs":"Povolit cookies",
				"da":"Jeg accepterer cookies",
				"de":"Cookies akzeptieren",
				"el":"Αποδέχομαι τα cookies",
				"et":"Ma nõustun küpsistega",
				"fi":"Sallin evästeet",
				"fr":"J'accepte les cookies",
				"ga":"Glacaim le fianáin",
				"hr":"Prihvati kolačiće",
				"hu":"Elfogadom a cookie-kat",
				"it":"Accetto i cookie",
				"lt":"Priimu slapukus",
				"lv":"Es pieņemu sīkdatnes",
				"mt":"Naċċetta l-cookies",
				"nl":"Ja, ik accepteer cookies",
				"pl":"Akceptuję cookies",
				"pt":"Aceito os cookies",
				"ro":"Accept cookie-urile",
				"sk":"Povoliť cookies",
				"sl":"Sprejmem piškotke",
				"sv":"Jag accepterar kakor"
			},
			"refuse": {
				"en":"I refuse cookies",
				"bg":"Не приемам бисквитки",
				"es":"Rechazo las cookies",
				"cs":"Zakázat cookies",
				"da":"Jeg accepterer ikke cookies",
				"de":"Cookies ablehnen",
				"el":"Δεν αποδέχομαι τα cookies",
				"et":"Ma ei nõustu küpsistega",
				"fi":"En salli evästeitä",
				"fr":"Je refuse les cookies",
				"ga":"Diúltaím d'fhianáin",
				"hr":"Odbaci kolačiće",
				"hu":"Nem fogadom el a cookie-kat",
				"it":"Rifiuto i cookie",
				"lt":"Atsisakau priimti slapukus",
				"lv":"Es noraidu sīkdatnes",
				"mt":"Nirrifjuta l-cookies",
				"nl":"Nee, ik accepteer geen cookies",
				"pl":"Nie akceptuję cookies",
				"pt":"Recuso os cookies",
				"ro":"Nu accept cookie-urile",
				"sk":"Zakázať cookies",
				"sl":"Ne sprejmem piškotkov",
				"sv":"Jag accepterar inte kakor"
			}
		},
		getDocLang		:function () {
			var off_lang_spec = new RegExp(/(en|fr|de|es|hr|nl|it|cs|da|et|el|lv|lt|hu|bg|mt|pl|pt|ro|sk|sl|fi|sv)/);
			var root = doc.getElementsByTagName('html')[0];
			var lang = root.getAttribute("lang")||false;

			if (lang && String(lang).length == 2) {
				lang = lang.toLowerCase();
				if (lang.match(off_lang_spec)) {
					return lang;
				}
			}
			
			var metaTags = doc.getElementsByTagName("meta");
			for (var i = 0; i < metaTags.length; i++) {
				if (metaTags[i].httpEquiv == "Content-Language" && String(metaTags[i].content).length == 2) {
					lang = String(metaTags[i].content).toLowerCase();
					if (lang.match(off_lang_spec)) {
						return lang;
					}
				}
			}
			
			var current_url = String(win.location).toLowerCase();
			var li = current_url.match(/_(en|fr|de|es|hr|nl|it|cs|da|et|el|lv|lt|hu|bg|mt|pl|pt|ro|sk|sl|fi|sv)\./);
			if (li && typeof li[1] !== "undefined") {
				return String(li[1]);
			}
			return "en";
		},
		getLabel : function (main,lang) {
			return  _c.label[main][lang]||_c.label[main]["en"]||"<!-- no such label " + main + " in language " + lang + " -->";
		},
		inArray			: function(needle,haystack){var i=-1;for(var key in haystack){i++;if(haystack[key]==needle){return i}}return false;},
		getCookie		: function(n){var i,l,x,y,a=document.cookie.split(";");for(i=0,l=a.length;i<l;i++){x=a[i].substr(0,a[i].indexOf("="));y=a[i].substr(a[i].indexOf("=")+1);x=x.replace(/^\s+|\s+$/g,"");if(x==n){return unescape(y);}};return false;},
		setCookie		: function(n,v,d){
			var h=win.location.host,e=new Date();;
			h=(h.match(/europa\.eu/))?".europa.eu":null;
			e.setDate(e.getDate()+d);
			var f=escape(v)+"; path=/"+((h==null)?"":"; domain="+h)+((d==null)?"":"; expires="+e.toUTCString());
			document.cookie=n+"="+f;
		},
		cookiesEnabled	: function(){if(_c.getCookie("eu_cookie_consent")){return true};var c=(navigator.cookieEnabled)?true:false;if(typeof navigator.cookieEnabled=="undefined"&&!c){_c.setCookie("cookiesenabled","1");c=(document.cookie.indexOf("cookiesenabled")!=-1)?true:false;};return c;},
		validateJSON 	: function(j){
			for (var ch in j) {
				if (ch != "a" && ch != "r") return false;
				for(var d in j[ch]) {
					if(typeof j[ch][d]==="string") {
						j[ch][d]=[j[ch][d]];
					} else if(j[ch][d] instanceof Array){
						for(var i=0,l=j[ch][d].length;i<l;i++) {
							if(typeof j[ch][d][i]!=="string") {return false;}
						}
					} else {return false}
				}
			}
			return true;
		},
		// LJC check if cookie has been declared and accepted; if not, add it to the site's cookies and present the banner
		declaredAndAccepted 	: function(widget_cookies_json){
			if (!_c.cookiesEnabled()) return true;
			var showBanner = false;
			var widget_cookies_accepted = true;

			for(var wcd in widget_cookies_json) {
				for(var i=0; i<widget_cookies_json[wcd].length; ++i) {
					cname = widget_cookies_json[wcd][i];
					if (!_c.checkConsentedCookies(cname)) {
						showBanner = true;
						widget_cookies_accepted = false;
						if (_c.checkCookieRefused(cname)) {
							showBanner = false;
						}
						if (typeof win.siteCookiesJSON["a"][wcd] === "undefined") {
							win.siteCookiesJSON["a"][wcd] = [cname];
						} else {
							win.siteCookiesJSON["a"][wcd].push(cname); //TODO: only push when cname is not yet in the array
						}
						var el = document.getElementById("validate-consent-" + cname);
						if (el) {
							_c.validateElement(el,cname);
						}
						var stop = false;
						for (var ii=0; ii<=20; ii++) {
							el = document.getElementById("validate-consent-" + cname + "-" + ii);
							if (el) {
								stop = false;
								_c.validateElement(el,cname);
							} else {
								if (stop) {break;}
								stop = true;
							}
						}
					}
				}
			}
			if (win.bannerDisplayed === false && showBanner === true) {
				_c.showBanner();
			}
			return widget_cookies_accepted;
		},
		// LJC: for each domain and cookie just check if it's contained in the consented cookies string
		checkConsentedCookies 	: function(name){
			if (!_c.cookiesEnabled()) return true;
			var ca=win.consentAccepted_String;
			var cacr=win.consentAccepted_String + win.consentRefused_String;
			if (typeof name !== "undefined") {
				var reg = new RegExp(name, "ig");
				if (!ca.match(reg)) return false;
				return true;
			} else {
				var s=win.siteCookiesJSON;
				for(var sd in s["a"]){
					var rd = new RegExp(sd, "ig");
					if (!cacr.match(rd)) return false;
					for(var sc in s["a"][sd]){
						var rc = new RegExp(s["a"][sd][sc], "ig");
						if (!cacr.match(rc)) return false;
					}
				}
				return true;
			}
		},
		// LJC: check if the cookiename is contained in the consent refused string
		checkCookieRefused 	: function(name){
			if (!_c.cookiesEnabled()) return true;
			var cr=win.consentRefused_String;
			if (!cr.match(name)) return false;
			return true;
		},
		// modify the ea-ignore behaviour (add or don't add an 'ea-ignore' url parameter when reloading the page)
		/*ea_ignore 	: function(truefalse){
			if (truefalse === false) {
				win.cckConfig.ea_ignore = false;
			} else if (truefalse === true) {
				win.cckConfig.ea_ignore = true;
			}
		},*/
		// LJC: return the no consent message in the page's language
		noConsentMessage 	: function(){
			return _c.getLabel("noconsent",  _c.getDocLang());
		},
		/*
			validateHTML will get elements by id and check if the cookies they create have been accepted.
			The ids are assembled per domain and per cookie and are taken from var consent_required_cookies. Id names are preceded by "validate-consent-".
		*/
		validateHTML 	: function() {
			var sc = win.siteCookiesJSON["a"];
			var	indi_arr = [];
			
			for(var scd in sc){
				indi_arr.push(scd);
				for(var scc in sc[scd]){
					indi_arr.push(sc[scd][scc]);
				}
			}
			var len = indi_arr.length;
			for(var i=0; i<len; ++i) {
				var el = document.getElementById("validate-consent-" + indi_arr[i]);
				if (el) {
					_c.validateElement(el,indi_arr[i]);
				}
				var stop = false;
				for (var ii=0; ii<=20; ii++) {
					el = document.getElementById("validate-consent-" + indi_arr[i] + "-" + ii);
					if (el) {
						stop = false;
						_c.validateElement(el,indi_arr[i]);
					} else {
						if (stop) {break;}
						stop = true;
					}
				}
			}
			
			// render the accept / refuse buttons typicaly used on the cookie notice page.
			var consent_buttons = document.getElementById("cookie-consent-buttons");
			if (typeof consent_buttons !== "undefined" && consent_buttons != null) {
				consent_buttons.innerHTML = '<a role="button" href="javascript:euCookieConsent.add()">' + _c.getLabel("accept",  _c.getDocLang()) + '</a> / <a href="javascript:euCookieConsent.refuse()">' + _c.getLabel("refuse",  _c.getDocLang()) + '</a>';
			}
			
		},
		
		validateElement 	: function(el,cookie_spec) {
			if (_c.checkConsentedCookies(cookie_spec)) return;
			
			el_class = el.className||"";
			
			if (el_class.match(/consentRefusedCallback-none/)) {
				el.parentNode.removeChild(el);
			} else if (el_class.match(/consentRefusedCallback-/)) {
				el.innerHTML = "";
				el.className += " no-cookie-consent";
				callback = el_class.match(/consentRefusedCallback-([^\s]+)/);
				if (callback) {
					try{window[callback[1]](el,win.docLang);}catch(e){}
				}
				
			} else {
				el.innerHTML = _c.getLabel("noconsent",  _c.getDocLang());
				el.className += " no-cookie-consent";
			}
		},
		showBanner: function() {
			var h=doc.getElementsByTagName("head")[0],
				i=doc.createElement('link');
			i.setAttribute('type','text/css');
			i.setAttribute('rel','stylesheet');
			i.setAttribute('href',location.protocol + '//ec.europa.eu/wel/cookie-consent/banner.css');
			h.appendChild(i);
			
			var i=doc.createElement('script');
				i.setAttribute('type','text/javascript');
				i.setAttribute('src',location.protocol + '//ec.europa.eu/wel/cookie-consent/banner.js');
				h.appendChild(i);
			win.bannerDisplayed = true;
		},
		init: function() {
			win.docLang = _c.getDocLang()||"en";
			// LJC: checking if cookies are enabled here. If they are not: 'reload' the page and add a url parameter that can be picked up by the consent server (referrer) so that it simply doesn't block any resources.
			if(!_c.cookiesEnabled()){
				if (!win.location.search.match(/cookies=disabled/)) {
					if (document.location.search == "") {
						win.location = win.location + "?cookies=disabled";
					} else {
						win.location = win.location + "&cookies=disabled";
					}
				}
				return false;
			};
			
			if(!win.siteCookiesJSON){return false};

			var consent_string = _c.getCookie("eu_cookie_consent")||'{"a":{},"r":{}}';
			var consent_JSON = {};

			try {
				consent_JSON = _c.euJSON.stringToJson(consent_string);
			} catch(e) {
				//if consent_JSON is corrupt, reset the value
				_c.setCookie("eu_cookie_consent",'{"a":{},"r":{}}',30);
				consent_JSON = _c.euJSON.stringToJson('{"a":{},"r":{}}');
			}
			
			// if the site cookies JSON does not validate, don't continue
			if(!_c.validateJSON(win.siteCookiesJSON)) return false;
			
			// if the eu_cookie_consent JSON is not conform, reset its value and continue
			if(!_c.validateJSON(consent_JSON)){
				_c.setCookie("eu_cookie_consent",'{"a":{},"r":{}}',30);
				consent_JSON = _c.euJSON.stringToJson('{"a":{},"r":{}}');
			};
			
			win.consentAccepted_JSON = consent_JSON["a"];
			win.consentRefused_JSON  = consent_JSON["r"];
			win.consentAccepted_String = _c.euJSON.jsonToString(consent_JSON["a"]);
			win.consentRefused_String  = _c.euJSON.jsonToString(consent_JSON["r"]);
			
			// validate any html elements indicated by their id 'validate'
			if (doc.addEventListener){
				doc.addEventListener("DOMContentLoaded", _c.validateHTML, false);
			} else if (doc.attachEvent) {
				doc.attachEvent("onreadystatechange", function() {
					if (/loaded|complete/.test(doc.readyState)) _c.validateHTML();
				})
			}
			
			// if all cookies are either tagged as accepted or refused don't continue
			if(_c.checkConsentedCookies()){return}

			// some cookies have not been accepted or refused: show the banner
			_c.showBanner();

		},
		consentAdd : function () {
			var h=doc.getElementsByTagName("head")[0], i=doc.createElement('script');
			i.setAttribute('type','text/javascript');
			i.setAttribute('src',location.protocol + '//webtools.ec.europa.eu/cookie-consent/consented/yes/');
			h.appendChild(i);
		
			var consent_banner = doc.getElementById("cookie-consent-banner");
			var s=win.siteCookiesJSON["a"];
			var ca=win.consentAccepted_JSON;
			var cr=win.consentRefused_JSON;
			
			for(var sd in s){
				// add to consent accepted
				if (typeof ca[sd] === "undefined") ca[sd] = [];
				for(var sc in s[sd]){
					if (!_c.inArray(s[sd][sc], ca[sd])) ca[sd].push(s[sd][sc]);
				}
				// remove the whole domain from consent refused
				if (typeof cr[sd] !== "undefined"){
					delete cr[sd];
				}
				/*if (typeof cr[sd] !== "undefined"){
					for(var sc=0; sc<s[sd].length; ++sc) {
						var hit = _c.inArray(s[sd][sc], cr[sd]);
						if (hit !== false) {
							var a = cr[sd];
							a.splice(hit,1);
						};
					}
				}*/
			}
			newConsentValue = '{"a":' + _c.euJSON.jsonToString(ca) +',"r":' + _c.euJSON.jsonToString(cr) + "}";
			_c.setCookie("eu_cookie_consent",newConsentValue,30);

			if (typeof consent_banner !== "undefined" && consent_banner != null) consent_banner.parentNode.removeChild(consent_banner);
			win.bannerDisplayed = false;
			setTimeout(function(){window.location.reload();}, 500);
			
			/*if (win.cckConfig.ea_ignore === false) {
				setTimeout(function(){window.location.reload();}, 500); 
			} else if (document.location.search == "") {
				setTimeout(function(){win.location = win.location + "?ea-ignore=true";}, 500);
			} else if (!win.location.search.match(/ea-ignore/)) {
				setTimeout(function(){win.location = win.location + "&ea-ignore=true";}, 500); 
			} else {
				setTimeout(function(){window.location.reload();}, 500); 
			}*/
		},
		consentRefuse : function () {
			var h=doc.getElementsByTagName("head")[0], i=doc.createElement('script');
			i.setAttribute('type','text/javascript');
			i.setAttribute('src',location.protocol + '//webtools.ec.europa.eu/cookie-consent/consented/no/');
			h.appendChild(i);

			var s=win.siteCookiesJSON["a"];
			var ca=win.consentAccepted_JSON;
			var cr=win.consentRefused_JSON;
			
			for(var sd in s){
				// add to consent refused
				if (typeof cr[sd] === "undefined") cr[sd] = [];
				for(var sc in s[sd]){
					if (!_c.inArray(s[sd][sc], cr[sd])) cr[sd].push(s[sd][sc]);
				}
				// remove the whole domain from consent accepted
				if (typeof ca[sd] !== "undefined"){
					delete ca[sd];
				}
			}
			//newConsentValue = '{"a":' + _c.euJSON.jsonToString(ca) +',"r":' + _c.euJSON.jsonToString(cr) + "}";
			newConsentValue = '{"a":{},"r":' + _c.euJSON.jsonToString(cr) + "}";
			_c.setCookie("eu_cookie_consent",newConsentValue,30);
			var consent_banner = document.getElementById("cookie-consent-banner");
			if (typeof consent_banner !== "undefined" && consent_banner != null) consent_banner.parentNode.removeChild(consent_banner);
			win.bannerDisplayed = false;
			setTimeout(function(){location.reload();}, 500); 
		},
		reset : function() {
			var c = _c.getCookie("eu_cookie_consent");
			setTimeout(function(){
				_c.setCookie("eu_cookie_consent",'{"a":{},"r":{}}',30);
				if(c=='{"a":{},"r":{}}'){return;}
				window.location.reload();
			},50);


		}
	}
	_c.init();
	
	win.euCookieConsent							= {};
	win.euCookieConsent.accepted 				= _c.checkConsentedCookies;
	win.euCookieConsent.reset					= _c.reset;
	win.euCookieConsent.add						= _c.consentAdd;
	win.euCookieConsent.refuse					= _c.consentRefuse;
	win.euCookieConsent.no_consent_message		= _c.noConsentMessage;
	win.euCookieConsent.declaredAndAccepted		= _c.declaredAndAccepted;
	//win.euCookieConsent.ea_ignore				= _c.ea_ignore;

})(window,document);


E poi

Codice: Seleziona tutto

var consent_required_cookies = {

	"a":{

		"europa":["_ga","__utma","__utmb","__utmc","__utmz","__utmv","guest_id","video_res","VISITOR_INFO1_LIVE","PREF","YSC","lu","datr","fr","xs","s","csm"]}

};

var cookie_notice_url = {

	"en":"http://eeas.europa.eu/cookies/index_en.htm",

	"bg":"http://eeas.europa.eu/cookies/index_bg.htm",

	"cs":"http://eeas.europa.eu/cookies/index_cs.htm",

	"da":"http://eeas.europa.eu/cookies/index_da.htm",

	"de":"http://eeas.europa.eu/cookies/index_de.htm",

	"et":"http://eeas.europa.eu/cookies/index_et.htm",

	"el":"http://eeas.europa.eu/cookies/index_el.htm",

	"es":"http://eeas.europa.eu/cookies/index_es.htm",

	"fr":"http://eeas.europa.eu/cookies/index_fr.htm",

	"ga":"http://eeas.europa.eu/cookies/index_ga.htm",

	"hr":"http://eeas.europa.eu/cookies/index_hr.htm",

	"it":"http://eeas.europa.eu/cookies/index_it.htm",

	"lv":"http://eeas.europa.eu/cookies/index_lv.htm",

	"lt":"http://eeas.europa.eu/cookies/index_lt.htm",

	"hu":"http://eeas.europa.eu/cookies/index_hu.htm",

	"mt":"http://eeas.europa.eu/cookies/index_mt.htm",

	"nl":"http://eeas.europa.eu/cookies/index_nl.htm",

	"pl":"http://eeas.europa.eu/cookies/index_pl.htm",

	"pt":"http://eeas.europa.eu/cookies/index_pt.htm",

	"ro":"http://eeas.europa.eu/cookies/index_ro.htm",

	"sk":"http://eeas.europa.eu/cookies/index_sk.htm",

	"sl":"http://eeas.europa.eu/cookies/index_sl.htm",

	"fi":"http://eeas.europa.eu/cookies/index_fi.htm",

	"sv":"http://eeas.europa.eu/cookies/index_sv.htm"};
@fabriBW: Ti ho consigliato la modifica nel CSS perchè così con un solo colpo la puoi usare sia nel JS sia nel normale HTML per il tag noscript. Va bene lo stesso così ma era una soluzione più sneaky :twisted:
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

Amexis
Utente
Utente
Messaggi: 20
Iscritto il: 25/12/2010, 15:48
Sesso: Maschio
Versione: 3.0.13-PL1
Server: UNIX/Linux
PHP: 5.4.39
Database: MySQL(i) 5.5.35-cll-lve
Contatta:

Re: Normativa Europea sui cookie, Legge sui cookie 2015

Messaggio da Amexis » 27/05/2015, 16:21

:?:

Salve

scusate il disturbo.....

usando Firefox con l'impostazione sui cookie orientata a "chiedi ogni volta" viene fuori un bannerino che ti chiede se vuoi salvare i cookie sul pc.
Quindi se non clicchi su si non si salvano.
Non è possibile creare uno script simile vero?

ciao e grazie

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: R: Normativa Europea sui cookie, Legge sui cookie 2015

Messaggio da brunino » 27/05/2015, 16:27

Il browser agisce nel momento in cui vengono scaricati... Anzi prima. Lo script potrebbe esistere... Ma molto complicato

Inviato dal mio GT-S5360 con Tapatalk 2
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Normativa Europea sui cookie, Legge sui cookie 2015

Messaggio da Sir Xiradorn » 27/05/2015, 16:48

Sta sopra nel mio post. Si dovrebbe solo riadattare per phpbb. Chi volesse lo può riadattare per i propri scopi
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

Amexis
Utente
Utente
Messaggi: 20
Iscritto il: 25/12/2010, 15:48
Sesso: Maschio
Versione: 3.0.13-PL1
Server: UNIX/Linux
PHP: 5.4.39
Database: MySQL(i) 5.5.35-cll-lve
Contatta:

Re: Normativa Europea sui cookie, Legge sui cookie 2015

Messaggio da Amexis » 27/05/2015, 19:16

Grazie per le spiegazioni e le dritte...

Però a sto punto vorrei sottoporvi uno script che avevo trovato qui.

spero di non mettere link che sono sgraditi.

è lo script che utilizza anche il sito che crea il portale del quale mi servo sul mio forum (e anche qui non so se posso mettere il link e per non eccedere mi astengo XD).

Ecco questo script però mi bloccava il caricamento del sito, ma mi sembrava molto valido, considerando anche alcune modifiche da fare nel file ucp.php per integrare la privacy policy.

Spero che possa essere utile la mia testimonianza... sennò mi scuso a priori ;-)

ciao ragazzi e grazie per il vostro grande lavoro.

Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Normativa Europea sui cookie, Legge sui cookie 2015

Messaggio da Sir Xiradorn » 29/05/2015, 17:35

Non so ma da quello che ho capito e da quello che posso vedere da non registrato pare che usi un servizio esterno per generare lo script. Comunque un contributo costruttivo non può che fare SEMPRE piacere. Per il PortalXL non ti preoccupare che è un caro vecchio amico Lucky che non sento da eoni ormai.

Alla fine sta nascendo un po la fobia del vedere quale è la soluzione migliore. Io personalmente sono per "i panni sporchi è meglio lavarli in casa". Quindi è bene usare uno script proprio che uno generato. Cookiechoises è semplice e funzionale. Lo script di europa.eu o governo.it sono più completi e permettono il rifiuto dei loro cookies. Per completezza vi posto anche lo script che usa proprio il nostro governo è facile e funzionale

Codice: Seleziona tutto

<script>function CookieOk()
{
    var expiration = new Date();
    expiration.setTime(expiration.getTime() + (60000*60*24*365));
    setCookie("ok_cookie","1",expiration,"/");
    document.getElementById("banner_cookie").style.display="none";
    window.location.reload(true);
}
function CookieKo()
{
    var expiration = new Date();
    expiration.setTime(expiration.getTime() + (60000*60*24*365));
    setCookie("ok_cookie","2",expiration,"/");
    document.getElementById("banner_cookie").style.display="none";
}

function setCookie(name,value,expires,path,domain,secure){document.cookie=name+"="+escape(value)+((expires==null)?"":"; expires="+expires.toGMTString())+((path==null)?"":"; path="+path)+((domain==null)?"":"; domain="+domain)+((secure==null)?"":"; secure")}
function getCookie(name){var cname=name+"=";var dc=document.cookie;if(dc.length>0){begin=dc.indexOf(cname);if(begin!=-1){begin+=cname.length;end=dc.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin,end))}}return null}
function delCookie(name,path,domain){if(getCookie(name)){document.cookie=name+"="+((path==null)?"":"; path="+path)+((domain==null)?"":"; domain="+domain)+"; expires=Thu, 01-Jan-70 00:00:01 GMT"}}

var check_cookie = getCookie("ok_cookie");

if ( (check_cookie == null) || (window.location.href.indexOf("privacy")>0) )
{
    document.getElementById("banner_cookie").style.display="block";
}
</script> 
e poi

Codice: Seleziona tutto

<div id="banner_cookie">
	<div id="banner_interno">
		<div id="banner_sx">
			Questo sito utilizza cookies tecnici e di terze parti per funzionalit&agrave; quali la condivisione sui <i>social network</i> e/o la visualizzazione 
			di media.
			Se non acconsenti all'utilizzo dei cookie di terze parti, alcune di queste funzionalit&agrave; potrebbero essere non disponibili.
			Per maggiori informazioni consulta la <a href="/privacy/index.html">privacy policy</a>
		</div>
		<div id="banner_dx">
			Acconsenti all'utilizzo di cookie di terze parti?
			<br />
			<br />
			<a href='javascript:void(0);' onclick='CookieOk();'><b>Si, acconsento</b></a>
			<a href='javascript:void(0);' onclick='CookieKo();'><b>No, non acconsento</b></a>
		</div>
	</div>
</div>
Similare a quello europeo. Una buona soluzione

EDIT: e comunque il kunaj lo hanno fregato a me era il mio cursore sul mio forum di qualche tempo fa :) Ma tant'è :)
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

Angolo
Leader Traduttori
Leader Traduttori
Messaggi: 7237
Iscritto il: 11/03/2011, 17:37
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.6.18
Database: MySQL 5.6.33-log
Contatta:

Re: Normativa Europea sui cookie, Legge sui cookie 2015

Messaggio da Angolo » 29/05/2015, 17:38

Ottimo Sir. Sto proprio testando quello del Governo, per verificarne l'efficacia effettiva..

Dannybo
Utente
Utente
Messaggi: 27
Iscritto il: 29/05/2015, 12:23
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.0.4
Database: MySQL(i) 5.1.63

Re: Normativa Europea sui cookie, Legge sui cookie 2015

Messaggio da Dannybo » 29/05/2015, 18:09

mi inserisco scusate... io ho risolto cosi al momento... e penso effettivamente possa andare. Avevo scritto anche nell'altro forum per phpbb 3.x

http://www.michaelmania-e.net/BOARD

barra che compare, informativa breve e informativa estesa direttamente come topic globale del forum.

Fermo restando il fatto che l'UNICO sito che ho visto che rispetti pienamente la normativa è quello del governo. Cioè l'unico che ti dice che usa i cookies e ti chiede un'azione specifica ( clicco SI o NO, e non un silenzio assenso) per fermare i cookies di profilazione. Certo una ipotesi di quel tipo per un qualunque sito di intrattenimento o generico la vedo improponibile. Non nel senso di far comparire il banner, ma che la gente si metta veramente a fermare i cookies di fb piuttosto che quelli di google. E' ridicolo solo pensarlo... di conseguenza trovo che l'importante è farglielo sapere....

Quindi, certo... la mia è una scelta "di mezzo" sicuramente migliorabile, alla quale mi pare si stanno allineando un po' tutti... se vado su wind.it ed esce il banner che mi dice che se proseguo usando il sito accetto la cosa non si risolve, lo so benissimo.... non clicco il banner, vado in un'altra pagina e il banner manco ricompare.... ergo i cookies (tutti) fanno quello che vogliono... quindi che consenso avrei dato? Siamo sempre li... inutili orpelli che alla prova dei fatti sono una bruttura a qualunque sito oltre che minarne l'usabilità... :|

Se mi date un parere... grazie.

Dannybo

Avatar utente
alex75
phpBB Expert
phpBB Expert
Messaggi: 943
Iscritto il: 31/03/2012, 23:46
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.37
Database: MySQL 5.6.39
Località: palermo
Contatta:

Re: Normativa Europea sui cookie, Legge sui cookie 2015

Messaggio da alex75 » 29/05/2015, 18:44

Ho letto una guida italiana molto ben fatta, anche se non ufficiale che mi ha fatto arrivare a delle (mie personali) conclusioni...
Questa è la guida Che ho trovato proprio sul sito suggerito nel primo post Guida
Il vero principale problema sono i cookie di profilazione (a scopo di pubblicità comportamentale) e questo credo chi sia chiaro a tutti.

Come già espresso da angolo, il problema maggiore è che sembrerebbe che nel caso di coockie di profilazione, non si possano scaricare nei browser altrui senza averne prima ricevuto il consenso del visitatore.
pagina 4 della guida a cui faccio riferimento.
Pag 4
Il titolare deve:
Isolare con un identificatore specifico tutte le porzioni di codice che installano servizi terzi che potrebbero utilizzare cookie
....
...
In alternativa, il titolare può anche adottare altri sistemi o procedure
che consentano di caricare completamente le pagine (compresi i cookie)
sin dalla prima visita, evitando così spazi vuoti nella pagina,
a condizione che l’attivazione dei cookie inviati al terminale dell’utente
avvenga solo dopo che è stato espresso il consenso.

In questo caso la barra sarà insufficiente, perchè dopo aver visitato il forum X di automobili e non avendo accettato i coockie e chiuso il sito, il visitatore "X" si troverà su un altro sito della bella pubblicità di auto...
La prova potete averla visitando questo sito che vi mostra alcuni (103) coockie principali che potreste avere nel vostro browser ed un pulsante per disattivarli.
Io ho provato con explorer (che di solito non uso) ad impostare google come pagina iniziale e cancellare tutti i cookie; a questo punto sono andato su quel sito ed ho trovato soltanto 7 su 103 di quei coockie; successivamente ho visitato il mio forum (la home) senza cliccare o scrivere niente e tornando a quel sito ho trovato ben 23 coockie, tra cui anche google che prima non c'era (adsense come altri, hanno fatto il loro lavoro) per noi scatterebbe la multa.

Credo che stiamo sottovalutando la grandezza della situazione e che questa sia una vera e propria battaglia a colossi come adsense e che dovrebbero essere loro con i loro potenti e pagatissimi avvocati a discutere questa normativa.
Credo proprio che almeno per il momento farò in modo che il mio forum, abbia soltanto dei coockie tecnici (utili al login ed al mantenimento delle sessioni) in attesa di sviluppi.

Dannybo
Utente
Utente
Messaggi: 27
Iscritto il: 29/05/2015, 12:23
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.0.4
Database: MySQL(i) 5.1.63

Re: Normativa Europea sui cookie, Legge sui cookie 2015

Messaggio da Dannybo » 29/05/2015, 18:59

è quello che dicevo nel mio messaggio... se entri per esempio in wind, vedi il banner, te ne freghi e se cambi pagina il banner non c'è più quando in realtà dovrebbe stare in ogni pagina fino a che non ci clicchi ok. E con lui sicuramente viaggiano tanti bei cookies, tecnici e "magari" non...

Tuttavia penso anche che il Garante voglia semplicemente far si che la gente venga "informata" di cio' che accade. Il tutto attraverso delle linee guida certo... ma direi, leggendo il tutto, anche con una certa discrezionalità purchè il fine ultimo sia che l'utente venga preventivamente informato e, nel caso possa agire fermando/non autorizzando i cookies profilanti.

E' per questo che penso che la maggior parte dei siti si stia orientando verso l'informazione all'utente. La stessa informazione del governo.it in realtà fa ridere... "sai usiamo i cookies e anche quelli di terze parti ma se non acconsenti il tutto potrebbe far cagare a vedersi o ti perdi chissa' che... "

insomma il buon senso penso abbia una marcia in più rispetto alla legge. Ne credo che il Garante non abbia buonsenso. Ritengo al momento lo script del governo.it il migliore proprio perchè ti fa acconsentire o inibire direttamente (poi se voglio mi guardo la privacy policy). Il Garante dice questo essenzialmente, ma dice anche che ogni editore/sito è libero di conformarsi all'obbligo di INFORMARE con un breve avviso e con un'informativa estesa dell'utilizzo dei cookies e di specificare quali cookies di profilazione usa.

E'ovvio che i cookies di profilazione se non sei tu ad usarli (nel senso non sono del TUO sito) non sei tu che li devi descrivere (la maggior parte dei proprietari/webmaster non ha la minima idea di come si comporta un cookie e cosa contenga) ma i soggetti (fb, google e simili) che li usano. TU, nell'informativa estesa informerai i tuoi utenti che "quei" soggetti usano sul tuo sito cookies di profilazione e darai gli strumenti necessari ai tuoi utenti per poter verificare l'operato di quelle compagnie e di come inibire o limitare i loro cookies.

Io la vedo così... e in genere i siti che ho visto finora si stanno orientando in questo senso... giusto o sbagliato che sia... non pretendo di avere la verità in tasca...

Dannybo

Rispondi

Torna a “[3.1.x] Forum di Supporto”

Chi c’è in linea

Visitano il forum: Nessuno e 91 ospiti