如何在 Laravel 中设置 Cookie 同意?🍪

在本教程中,我们将引导您了解如何设置 Cookie 同意栏并使其在您的 Laravel 应用中运行。但在深入研究之前,让我们花点时间了解 Cookie 的含义!

什么是 Cookie?

Cookie 对于网站的运作非常重要,可以改善您的浏览体验!它们是网站存储在您的浏览器中的小文件,可以改善您的浏览体验。它们可以保存用户偏好、网站设置和会话详细信息等信息。

此外,cookie 会一直保留在您的浏览器中,直到过期或被手动清除。当您再次访问网站时,您的浏览器会将存储的 cookie 发送回服务器,使网站能够加载您之前的偏好或设置,从而提高可用性和个性化。

为什么我们需要 Cookie 同意?

cookie consent

因此,隐私法、欧盟的《通用数据保护条例 (GDPR)》和美国的《加州消费者隐私法案 (CCPA)》要求网站向用户告知数据收集行为。

同意确保网站遵守这些法律,从而避免受到处罚并确保数据处理的透明性。

Cookies 可能会收集个人数据,例如浏览习惯、偏好甚至位置。同意可确保用户知道正在收集哪些数据以及如何使用这些数据。

通过征求同意,该网站让用户能够决定是否愿意接受所收集的数据。这符合用户对个人信息自主权的原则。

提供有关 Cookie 的正确信息并获得用户和网站之间的同意可以建立信任。用户可能会与尊重其隐私的网站进行互动。

虽然某些 Cookie(例如基本功能 Cookie)可能不需要同意,但与广告、跟踪或分析相关的其他 Cookie 通常需要同意。获得同意有助于区分这些情况,同时保持网站的用户友好性和合规性。

什么是 spatie/laravel-cookie-consent 包?

空间 / laravel-cookie-同意

让你的 Laravel 应用遵守疯狂的欧盟 cookie 法

适用于 Laravel 的简单、可定制的 cookie 同意消息

Latest Version on PackagistSoftware Licenserun-testsTotal Downloads

此包会向您的网站添加一条简单、可自定义的 Cookie 同意消息。网站加载时,横幅会出现并让用户同意 Cookie。一旦用户同意,横幅就会隐藏并保持隐藏状态。

**此包不包含的内容:**

  • 包括“拒绝”所有 cookie 的选项,这可能是必需的。
  • 在同意之前阻止跟踪器和 cookie。您需要自行处理此事。
  • 包括不同同意类别的选项,如“必要”或“营销”。
  • 要使用 Laravel 中更高级的 cookie 同意选项,请考虑这些替代方案。

  • whitecube/laravel-cookie-同意
  • statikbe/laravel-cookie-同意
  • 支持我们

    null

    我们投入了大量资源来打造一流的开源软件包。您可以通过购买我们的付费产品来支持我们。

    我们非常感谢您从您的家乡给我们寄来明信片,并注明您使用的是我们的哪种包裹。您可以在我们的联系页面上找到我们的地址……

    在 GitHub 上查看

    `spatie/laravel-cookie-consent` 包是一个 Laravel 工具,它可以为您的网站添加可自定义的 cookie 同意横幅,帮助您遵守欧盟 cookie 法律。当用户访问您的网站时,横幅会出现,允许他们同意使用 cookie。一旦同意,横幅就会隐藏,并在后续访问中保持隐藏状态。

    **主要特点:**

  • 可定制的同意信息:轻松修改同意横幅的文本和外观,以符合您网站的设计和信息传递。
  • 自动处理:该软件包根据用户交互管理同意横幅的显示和隐藏,从而简化合规工作。
  • **限制:**

  • 没有“拒绝”选项:该软件包不包含“拒绝”按钮,而这在某些司法管辖区可能是完全合规所必需的。
  • 在同意之前不阻止 Cookie:它不会在用户同意之前自动阻止 Cookie 或跟踪器;您需要自己实现此功能。
  • 无同意类别:该软件包不提供不同同意类别的选项,例如“必要”或“营销”cookie。
  • 如果您想要更高级的 cookie 同意功能,那么也可以选择其他方法。

  • whitecube/laravel-cookie-同意
  • statikbe/laravel-cookie-同意
  • 在本教程中,我们将使用“spatie/laravel-cookie-consent”包。

    安装

    您可以轻松地将此包集成到您现有的项目中,或者您可以使用以下命令创建一个新的 Laravel 应用程序。

  • 创建一个 Laravel 项目。 composer create-project --prefer-dist laravel/laravel fresh-laravel
  • 现在,让我们继续这个项目。cd fresh-laravel
  • 我们需要安装 spatie/laravel-cookie-consent 包。此包将在安装时自动注册。composer require spatie/laravel-cookie-consent
  • 您也可以选择发布配置文件。php artisan vendor:publish --provider="Spatie\\CookieConsent\\CookieConsentServiceProvider" --tag="cookie-consent-config"
  • 发布的配置文件内容如下: return [ /* * 使用此设置启用 cookie 同意对话框。 */ 'enabled' => env('COOKIE_CONSENT_ENABLED', true), /* * 如果用户同意接受条件,我们将存储的 cookie 的名称。 */ 'cookie_name' => 'laravel_cookie_consent', /* * 以天为单位设置 cookie 持续时间。 默认为 365 * 20。 */ 'cookie_lifetime' => 365 * 20, ];
  • Cookie 域由 config/session.php 文件中的“domain”键定义。请确保在 .env 文件中为 SESSION_DOMAIN 添加值。如果您使用带有端口的 URL(例如“localhost:3000”),则此包将无法正常运行,除非您进行此调整。
  • 为了确保每个页面上都加载 cookie 同意栏,请在应用程序的入口点或布局文件中包含 `@include('cookie-consent::index')`。

    用途

    Laravel cookie consent example

    要启用 cookie 同意栏,请将变量“COOKIE_CONSENT_ENABLED”添加到 .env 文件并将其设置为“true”。启用后,将出现一个漂亮的横幅,如下所示:

    当用户点击“**允许 Cookie**”按钮以允许 Cookie 时,浏览器的 Cookie 存储中的 `laravel_cookie_consent` 变量将设置为 `1`。此值可用于运行或包含应用程序中的任何脚本,例如 Google Analytics 代码。

    @if (!config('cookie-consent.enabled') || \\Illuminate\\Support\\Facades\\Cookie::get(config('cookie-consent.cookie_name')) !== null )
        // conditionally render code here
    @endif

    您需要做的就是在 Laravel 应用程序中创建一个基本的 cookie 同意。

    开发高级 cookie 管理**仪表板**需要考虑用户友好的界面,使用户无需更改代码即可打开或关闭 cookie 同意栏。

    我们还应该实现一项功能,以便在 Laravel 应用程序中动态添加脚本,并为用户提供针对每个特定脚本的**选择加入**或**选择退出** cookie 同意的选项。

    无需担心 **Jetship Laravel SaaS Boilerplate** 已经包含这些基本功能及更多功能!

    除了 cookie 同意功能外,Jetship **Laravel SaaS Starter Kit** 还提供了一系列令人印象深刻的功能,包括:

  • 一个强大而安全的身份验证系统来保护用户帐户。
  • 与两个领先的支付网关集成:Stripe 和 Lemon Squeezy。
  • 一个完全管理的、搜索引擎友好的、用于内容营销的博客。
  • 全面的角色和权限管理,实现细粒度的访问控制。
  • 可重复使用的、特定领域的 UI 组件,以加速开发。
  • 还有许多其他强大的工具来简化您的 SaaS 开发。
  • 您可以在此处探索现场演示。体验 Jetship Laravel 入门套件带来的不同!

    Laravel cookie consent demo

    结论:

    将 Cookie 同意横幅集成到您的 Laravel 应用程序中是确保遵守 GDPR 和 CCPA 等隐私法规的重要一步。它不仅可以增强用户信任,还可以提高数据收集和使用实践的透明度。

    通过利用 **spatie/laravel-cookie-consent** 软件包,您可以轻松实现完全可定制且用户友好的 cookie 同意解决方案。此软件包简化了告知用户有关 cookie、管理其偏好以及遵守法律要求的过程。

    此外,借助**Jetship Laravel SaaS Boilerplate**等高级工具,您可以将应用程序的功能提升到一个新的水平 - 简化开发,同时确保符合内置 cookie 同意和其他基本功能。

    借助正确的工具和清晰的实施策略,您就能轻松打造更加透明、以用户为中心的体验。开始构建不仅符合监管标准而且能增强用户信任度和参与度的应用程序。

    祝你编码愉快!