Pacote de consentimento de cookie simples para Laravel

O pacote Laravel Cookie Guard fornece uma janela de consentimento de cookie simples por meio da qual os usuários podem especificar os cookies que desejam permitir. Após o usuário enviar o modal, esses cookies estão prontos para uso no frontend.
Depois de configurar este pacote e definir os cookies que você quer no seu site, você pode verificar se uma determinada categoria de cookie é permitida. O exemplo readme usa
$_COOKIE
o superglobal do PHP, no entanto, você pode construir um helper para este pacote para simplificar as verificações de cookies de consentimento:
@if(isset($_COOKIE[config('cookies_consent.cookie_prefix') . 'cookies_consent'])) @php $cookiesConsent = json_decode($_COOKIE[config('cookies_consent.cookie_prefix') . 'cookies_consent'], true); @endphp @if(isset($cookiesConsent['targeting']) && $cookiesConsent['targeting'] && config('app.google_analytics_id')) <script defer async> (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); window.ga('create', '{{ config('app.google_analytics_id') }}', 'auto'); window.ga('set', 'anonymizeIp', true); window.ga('send', 'pageview'); script> @endif@endif
Observação: o exemplo do arquivo leia-me depende do HTML renderizado pelo servidor que não é armazenado em cache .
No frontend, você pode usar
window.localStorage
para verificar cookies apropriados definidos no arquivo de configuração. Isso permitirá que você escreva dinamicamente a lógica de consentimento de cookies no frontend.
Principais Características
- Categorias de cookies personalizáveis
- 3 opções de integração diferentes: diálogo tudo-em-um, página interna, página externa separada,
- Uma interface de usuário limpa e intuitiva para o modal de consentimento de cookies.
- Um botão de cookies fixos e um link de rodapé que permite aos usuários alterar suas preferências de cookies a qualquer momento. Este botão é opcional, e sua existência pode ser ajustada no arquivo de configuração.
- Uma página separada para as preferências de cookies, onde os usuários podem ler mais sobre cada categoria de cookies e alterar suas preferências.
- Suporte multilíngue. O plugin vem com 6 idiomas integrados: inglês, grego, espanhol, alemão, italiano e sueco. Você pode adicionar seu próprio idioma publicando as traduções e editando/adicionando suas próprias traduções.
Você pode aprender mais sobre este pacote, obter instruções completas de instalação e visualizar o código-fonte no GitHub.
Além disso, você pode instalar e configurar este pacote usando o Composer e o Artisan:
composer require scify/laravel-cookie-guardphp artisan vendor:publish \--provider="SciFY\LaravelCookiesConsent\LaravelCookiesConsentServiceProvider" \--tag="cookies-consent-public" \--tag="cookies-consent-config"