atlasconsulting/cakephp-cookie-consent

CakePHP 的 CookieConsent 插件

v1.0.0 2022-05-19 10:44 UTC

This package is auto-updated.

Last update: 2024-09-19 15:51:12 UTC


README

php image image

此插件帮助您移除应用程序设置的未经用户同意的 Cookie。它通过读取包含用户接受的 Cookie 类别信息的可配置 Cookie 来工作。它与 Cookie Consent 无需额外配置即可直接使用。

安装

您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方式是

composer require atlasconsulting/cakephp-cookie-consent

使用方法

CookieCosentMiddleware 添加到应用程序中间件队列中。

public function middleware(MiddlewareQueue $middlewareQueue): MiddlewareQueue
{
    return $middlewareQueue
        // Catch any exceptions in the lower layers,
        // and make an error page/response
        ->add(new ErrorHandlerMiddleware(Configure::read('Error')))

        ->add(new CookieConsentMiddleware([
            'remove' => [
                'preferences' => ['lang'], // remove `lang` cookie if `preferences` category isn't accepted
                'analytics' => ['my_analytics'], // remove `my_analytics` cookie if `analytics` category isn't accepted
            ],
        ]));

        // other middlewares here
}

配置

中间件可以通过以下方式配置:

[
    'cookieName' => 'cc_cookie',
    'searchIn' => 'level',
    'remove' => [
        'preferences' => [],
        'analytics' => [],
        'targeting' => [],
    ],
]

其中

  • cookieName (默认 cc_cookie),要分析的 Cookie 同意
  • searchIn (默认 level),在 Cookie 的 json 字符串值中查找的键。值必须是用户接受的 Cookie 类别的数组,例如 ['preferences', 'analytics']
  • remove 如果不接受,则按 Cookie 类别分割的数组,要删除的