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 类别分割的数组,要删除的