amoori/cookie-consent
Composer 安装命令:
composer require amoori/cookie-consent
包简介
Make your Laravel app comply with the crazy EU cookie law
README 文档
README
All sites owned by EU citizens or targeted towards EU citizens must comply with a crazy EU law. This law requires a dialog to be displayed to inform the users of your websites how cookies are being used. You can read more info on the legislation on the site of the European Commission.
This package provides an easily configurable view to display the message. Also included is JavaScript code to set a cookie when a user agrees with the cookie policy. The package will not display the dialog when that cookie has been set.
Spatie is a web design agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
Support us
Learn how to create a package like this one, by watching our premium video course:
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Installation
You can install the package via composer:
composer require spatie/laravel-cookie-consent
The package will automatically register itself.
Optionally you can publish the config-file:
php artisan vendor:publish --provider="Spatie\CookieConsent\CookieConsentServiceProvider" --tag="config"
This is the contents of the published config-file:
return [ /* * Use this setting to enable the cookie consent dialog. */ 'enabled' => env('COOKIE_CONSENT_ENABLED', true), /* * The name of the cookie in which we store if the user * has agreed to accept the conditions. */ 'cookie_name' => 'laravel_cookie_consent', /* * Set the cookie duration in days. Default is 365 * 20. */ 'cookie_lifetime' => 365 * 20, ];
Usage
To display the dialog all you have to do is include this view in your template:
//in your blade template @include('cookieConsent::index')
This will render the following dialog that, when styled, will look very much like this one.
Please be aware that the package does not provide any styling, this is something you'll need to do yourself.
When the user clicks "Allow cookies" a laravel_cookie_consent cookie will be set and the dialog will be removed from the DOM. On the next request, Laravel will notice that the laravel_cookie_consent has been set and will not display the dialog again
Customising the dialog texts
If you want to modify the text shown in the dialog you can publish the lang-files with this command:
php artisan vendor:publish --provider="Spatie\CookieConsent\CookieConsentServiceProvider" --tag="lang"
This will publish this file to resources/lang/vendor/cookieConsent/en/texts.php.
return [ 'message' => 'Please be informed that this site uses cookies.', 'agree' => 'Allow cookies', ];
If you want to translate the values to, for example, French, just copy that file over to resources/lang/vendor/cookieConsent/fr/texts.php and fill in the French translations.
Customising the dialog contents
If you need full control over the contents of the dialog. You can publish the views of the package:
php artisan vendor:publish --provider="Spatie\CookieConsent\CookieConsentServiceProvider" --tag="views"
This will copy the index and dialogContents view files over to resources/views/vendor/cookieConsent. You probably only want to modify the dialogContents view. If you need to modify the JavaScript code of this package you can do so in the index view file.
Using the middleware
Instead of including cookieConsent::index in your view you could opt to add the Spatie\CookieConsent\CookieConsentMiddleware to your kernel:
// app/Http/Kernel.php class Kernel extends HttpKernel { protected $middleware = [ // ... \Spatie\CookieConsent\CookieConsentMiddleware::class, ]; // ... }
This will automatically add cookieConsent::index to the content of your response right before the closing body tag.
Notice
The legislation is pretty very vague on how to display the warning, which texts are necessary, and what options you need to provide. This package will go a long way towards compliance, but if you want to be 100% sure that your website is ok, you should consult a legal expert.
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
composer test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security-related issues, please email freek@spatie.be instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
amoori/cookie-consent 适用场景与选型建议
amoori/cookie-consent 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 127 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 09 月 22 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「cookie」 「eu」 「spatie」 「law」 「comply」 「cookie-consent」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 amoori/cookie-consent 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 amoori/cookie-consent 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 amoori/cookie-consent 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Add a configurable cookie consent banner to the website.
This extension allows you enable an EU compliant consent cookie notification banner.
Receive webhooks in Laravel apps
Make your Laravel app comply with the crazy EU cookie law
Easily optimize images using PHP
Popup component for Nette Framework
统计信息
- 总下载量: 127
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 28
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-09-22