欧盟电子隐私指令中阻止cookie的代码

时间:2013-09-20 10:10:32

标签: php session joomla2.5 joomla-extensions

我正在使用Joomla 2.5.4扩展EU电子隐私指令来阻止Cookie并显示有关Cookie的消息。我需要知道用于阻止cookie的代码/功能

请帮帮我

2 个答案:

答案 0 :(得分:1)

查看该插件的代码,有三件事情发生:

  1. Use GeoIP to detect the user's country
  2. 如果检测到的国家/地区是欧盟成员国,请删除所有Set-Cookie标题。
  3. 如果用户想要允许Cookie,则提示用户,如果用户允许使用非必要的Cookie,则会在进一步请求时绕过Set-Cookie删除。
  4. 第二步可以通过以下方式实现,但请注意,这会删除所有 Cookie标头:

    header_remove('Set-Cookie');
    

    如果您正在寻找现有的实施方案,GitHub会为cookie lawcookie consent提供大量结果。 Cookie-consent-handler是我发现的最通用的PHP实现。

    另见:

    <强>更新

    关于如何删除除会话cookie之外的所有cookie的评论,您可以使用以下内容替换该插件中的_cleanHeaders方法(假设PHP&gt; = 5.3):

    function _cleanHeaders() {
        $retain = array_filter(headers_list(), function($header) {
            return strpos($header, session_id()) !== false;
        });
    
        header_remove('Set-Cookie');
    
        array_walk($retain, function($header){
            header($header);
        });
    }
    

答案 1 :(得分:-1)

为什么总是要求开发人员这么厌恶? (顺便说一句,这是我)

Sino Thomas - 你对我的扩展问题充满了问题 - 但是从来没有问过我。计划一个叉子?