0

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

请帮我

4

2 回答 2

1

查看该插件的代码,主要发生了三件事:

  1. 使用 GeoIP 检测用户所在国家
  2. Set-Cookie如果检测到的国家/地区是欧盟成员,则删除所有标题。
  3. 如果用户想要允许 cookie,则提示用户,Set-Cookie如果用户允许非必要的 cookie,则在进一步请求时绕过删除。

第二步可以通过以下方式实现,但请注意,这会删除所有cookie 标头:

header_remove('Set-Cookie');

如果您正在寻找现有的实现,GitHub 有大量关于cookie 法律cookie 同意的结果。Cookie-consent-handler是我发现的最通用的 PHP 实现。

也可以看看:

更新:

关于您关于如何删除除会话 cookie 之外的所有 cookie 的评论,您可以_cleanHeaders将该插件中的方法替换为以下内容(假设 PHP>=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);
    });
}
于 2013-09-20T10:46:53.387 回答
-1

为什么总是对向开发人员提出这种反感?(顺便说一句,是我)

Sino Thomas——你用关于我的扩展的问题淹没了stackoverflow——但从不问我。计划分叉?

于 2013-12-30T22:59:24.113 回答