atlasconsulting / cakephp-cookie-consent
CakePHP 的 CookieConsent 插件
v1.0.0
2022-05-19 10:44 UTC
Requires
- php: >=7.4
- ext-json: *
- cakephp/cakephp: ^4.3
- psr/http-message: ^1.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- cakephp/cakephp-codesniffer: ^4.2.0
- phpstan/phpstan: ^1.5
- phpunit/phpunit: ^9
README
此插件帮助您移除应用程序设置的未经用户同意的 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 类别分割的数组,要删除的