I have a site written in CodeIgniter which, by default, creates ci_session cookie when first visiting the website. The client requests to make the site GDPR-compliant. I did not add any cookies or local storage beside the google analytics. I do add some stuff to php session variable, but I recon it does not fall under the GDPR scope.
So, basically I have following cookies on the site load:
I already have an idea how to deal with google analytics cookies, but ci_session baffles me. As I understand, on the first page load, absolutely no cookies are allowed before clients consent.
My question is: "What would be the best way to disable the ci_session cookie before a user gave the consent?"
*Codeigniter version 2.1.7
答案 0 :(得分:2)
GDPR似乎很奇怪,除了关于永久标识符的独奏会(背景信息,不是法律)中提到的内容外,GDPR并没有对Cookie进行任何说明。 适用的是欧盟电子隐私指令,最终将由电子隐私法规(“ ePR”)取代。 ePD下的UK ICO's guidance on cookies说:
在以下情况下可免税
cookie的唯一目的是通过电子通信网络进行通信传输;或cookie是提供订户或用户要求的“信息社会服务”(例如,互联网服务)所必需的。请注意,满足他们的要求必须是必不可少的-有用或方便但非必不可少的Cookie,或仅出于您自己的目的而必不可少的Cookie,仍需要征得您的同意。
这意味着您不太可能需要同意:
当用户将商品添加到在线购物篮或通过互联网购物网站进行结帐时,cookie用来记住用户希望购买的商品;
会话cookie提供的安全性对于满足用户请求的在线服务(例如,在线银行服务)的数据保护安全要求至关重要。或
负载均衡cookie,通过在多台计算机之间分配工作负载来确保快速有效地加载页面内容。
请注意,根据此定义,Google Analytics(分析)没有严格要求;不过,这不仅仅与Cookie有关-应当防止的是未经同意进行跟踪,其中的cookie只是实现该目的的一种方法,即使从Google加载javascript也确实是在跟踪没有设置Cookie(可以设置GA)。
虽然在初次访问时根本不应该设置cookie,但是在获得同意机会之前,出于技术目的,绝对身份验证的第一方会话cookie绝对是“严格必要的”,因此可以首先不需要征得您的同意。仍然关闭窗口时,会话cookie(根据定义)会被删除,但是您甚至可以通过在注销时设置Clear-Site-Data header来抢先。
关于CodeIgniter的处理方式,我认为值得报告bug或 避免调用任何会导致会话在登录之前启动的东西。