Download the PHP package omegaalfa/cookie without Composer

On this page you can find all versions of the php package omegaalfa/cookie. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package cookie

🍪 Omega Alfa Cookie

Latest Version on Packagist PHP Version Require Tests Code Coverage Total Downloads

Uma biblioteca PHP moderna, segura e elegante para gerenciamento de cookies. Projetada com interface estática fluida, criptografia AES-256-GCM, sistema de queue e focada em segurança e nas melhores práticas de desenvolvimento.


📋 Índice


✨ Características

Recurso Descrição
🔒 Seguro por Padrão Cookies com HttpOnly, Secure e SameSite='Lax' habilitados automaticamente
🔐 Criptografia AES-256-GCM Criptografia autenticada para dados sensíveis
📦 Sistema de Queue Enfileire cookies e envie todos de uma vez
⏰ Forever Cookies Cookies persistentes de 400 dias (máximo do navegador)
🛡️ Proteção contra ReDoS Validação de expressões regulares para prevenir ataques
✍️ Consentimento HMAC Verificação criptográfica de consentimento (LGPD/GDPR)
🎯 Interface Fluida API estática simples e intuitiva
📦 Zero Dependências Nenhuma dependência externa em produção
✅ 98% Code Coverage Amplamente testado com PHPUnit e Infection

📌 Requisitos


📦 Instalação


🚀 Início Rápido


📖 Documentação da API

Operações Básicas

set($name, $value, $expiration, $path, $domain, $secure, $httpOnly, $sameSite)

Define um cookie com configurações de segurança.

Parâmetro Tipo Padrão Descrição
$name string obrigatório Nome do cookie
$value string obrigatório Valor do cookie
$expiration int\|null 0 Timestamp Unix de expiração. 0 = sessão do navegador
$path string\|null "/" Caminho onde o cookie é válido
$domain string\|null "" Domínio onde o cookie é válido
$secure bool\|null true Enviar apenas via HTTPS
$httpOnly bool\|null true Inacessível via JavaScript
$sameSite string\|null "Lax" Política SameSite (Strict, Lax, None)

get($name, $defaultValue)

Obtém o valor de um cookie.

⚠️ Segurança XSS: Sempre escape a saída ao exibir em HTML:


exists($name)

Verifica se um cookie existe.


delete($name, $path, $domain, $secure)

Remove um cookie.

💡 Importante: Os parâmetros path e domain devem corresponder aos valores originais.


getAllCookies()

Retorna todos os cookies disponíveis.


clearAllCookies()

Deleta todos os cookies do domínio atual.


Criptografia

A biblioteca suporta criptografia AES-256-GCM para proteger dados sensíveis em cookies.

configureEncryption($key, $encryptByDefault, $except)

Configura as opções de criptografia.

Parâmetro Tipo Padrão Descrição
$key string obrigatório Chave de criptografia (mínimo 32 bytes)
$encryptByDefault bool false Criptografar todos os cookies automaticamente
$except array [] Cookies a excluir da criptografia automática

setEncrypted($name, $value, ...)

Define um cookie com valor criptografado explicitamente.


getDecrypted($name, $defaultValue)

Obtém e descriptografa um cookie.


encrypt($value) / decrypt($value)

Métodos de baixo nível para criptografar/descriptografar valores.


Sistema de Queue

O sistema de queue permite enfileirar múltiplos cookies e enviá-los todos de uma vez. Isso é útil para:

queue($name, $value, ...)

Adiciona um cookie à fila.


queueEncrypted($name, $value, ...)

Adiciona um cookie criptografado à fila.


queueForever($name, $value, ...)

Adiciona um cookie "forever" (400 dias) à fila.


queueDelete($name, $path, $domain)

Enfileira a remoção de um cookie.


sendQueued()

Envia todos os cookies da fila.


Outros métodos de queue


Cookie Forever

forever($name, $value, ...)

Define um cookie com expiração de 400 dias (máximo permitido pelos navegadores).


Consentimento

checkCookieConsent()

Verifica se o usuário deu consentimento para cookies (LGPD/GDPR).

Suporta dois métodos:

  1. Sessão PHP: $_SESSION['cookie_consent'] === true
  2. Cookie com HMAC: Cookie cookie_consent com assinatura válida

Operações com Regex

getCookieValueByRegex($regex)

Obtém valores de cookies que correspondem a um padrão regex.


deleteCookiesByRegex($regex)

Remove todos os cookies que correspondem a um padrão regex.


🔐 Guia de Segurança

Configurações Padrão Seguras

Opção Padrão Motivo
secure true Previne transmissão em conexões não-HTTPS
httpOnly true Previne acesso via JavaScript (XSS)
sameSite Lax Previne CSRF em requisições cross-site

Recomendações

  1. Use HTTPS em produção - Cookies com secure=true só funcionam via HTTPS

  2. Escape output HTML - Sempre sanitize antes de exibir:

  3. Use criptografia para dados sensíveis:

  4. Configure chave de criptografia forte:

  5. Armazene a chave de forma segura:

📋 Consentimento de Cookies (LGPD/GDPR)

Via Sessão PHP

Via Cookie com HMAC

Configure a variável de ambiente:


🧪 Testes


🤝 Contribuindo

  1. Fork o repositório
  2. Crie sua branch: git checkout -b feature/nova-funcionalidade
  3. Commit suas mudanças: git commit -m 'feat: adiciona nova funcionalidade'
  4. Push para a branch: git push origin feature/nova-funcionalidade
  5. Abra um Pull Request

Padrão de Commits

Usamos Conventional Commits:


📄 Licença

Este projeto está licenciado sob a Licença MIT.


📊 Comparação de Funcionalidades

Recurso omegaalfa/cookie illuminate/cookie spatie/laravel-cookie-consent
Zero Dependências ✅ ❌ ❌
Criptografia AES-256-GCM ✅ ✅ ❌
Sistema de Queue ✅ ✅ ❌
Forever Cookies ✅ ✅ ❌
Proteção ReDoS ✅ ❌ ❌
Consentimento LGPD/GDPR ✅ ❌ ✅
Verificação HMAC ✅ ❌ ❌
Secure por Padrão ✅ ✅ N/A
Standalone (sem framework) ✅ ❌ ❌
PHP 8.2+ Nativo ✅ ✅ ✅

Feito com ❤️ por Omega Alfa


All versions of cookie with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package omegaalfa/cookie contains the following files

Loading the files please wait ...