
Biblioteca de segurança PHP 8.4+ (espelho)
Biblioteca de segurança PHP abrangente que fornece CSP, Cabeçalhos de Segurança, proteção CSRF, Cookies Seguros, Validação de Senhas, Sanitização de Entrada, Limitação de Taxa, SRI, Carregamento de Segredos, Criptografia, Segurança de Sessão, autenticação de dois fatores TOTP, URLs Assinadas e Registro de Eventos de Segurança.
unsafe-*, HTTPS-firstwith*()| Módulo | Descrição | Classes Principais |
|---|---|---|
| CSP | Construção de cabeçalho de Content Security Policy e relatório de violações | CspDirectives, HeaderBuilder, NonceGenerator, CspReportParser |
| Headers | Cabeçalhos de segurança (HSTS, Permissions-Policy, etc.) | SecurityHeaders, SecurityHeadersBuilder |
| CSRF | Proteção contra Cross-Site Request Forgery | CsrfProtection, CsrfConfig |
| Cookie | Manipulação segura de cookies | SecureCookie, CookieBuilder, CookieOptions |
| Encryption | Criptografia autenticada XChaCha20-Poly1305 | SymmetricEncryptor, EnvelopeEncryptor, EncryptionKey, KeyRingEncryptor |
| Password | Validação e hash de senhas | PasswordPolicy, PwnedPasswordChecker, PepperedPasswordHasher |
| Sanitization | Sanitização de entrada (HTML, SQL, URI, Path) e validação de upload de arquivos | HtmlSanitizer, UriSanitizer, PathValidator, UploadValidator |
| RateLimiting | Limitação de taxa com múltiplos algoritmos | DefaultRateLimiter, RateLimitConfig |
| SRI | Geração de hash de Subresource Integrity | SriHashGenerator, IntegrityAttribute |
| Secrets | Carregamento de segredos baseado em Docker/arquivos | SecretLoader, SecretValue, FileSecretSource |
| Session | Reforço de sessão e proteção contra fixação | SessionGuard, SessionConfig, SessionConfigurator |
| SignedUrl | URLs assinadas com HMAC e expiração obrigatória | UrlSigner, SigningKey |
| TOTP | Senhas de uso único baseadas em tempo (RFC 6238) | TotpAuthenticator, TotpSecret, ProvisioningUri, RecoveryCodeGenerator |
| Analyzer | Análise e auditoria de cabeçalhos de segurança | SecurityHeaderAnalyzer, AnalysisResult |
| Scanner | Scanner CLI de cabeçalhos de segurança | ScanCommand, StreamHeaderFetcher |
| Middleware | Middleware PSR-15 para integração direta com frameworks | SecurityHeadersMiddleware, CspMiddleware, CspReportHandler, CsrfMiddleware, DoubleSubmitCsrfMiddleware, RateLimitMiddleware, CorsMiddleware |
| Logging | Registro de eventos de segurança | SecurityAuditLogger, SecurityEvent |
ext-domext-libxmlext-sodiumcomposer require zappzarapp/security
use Zappzarapp\Security\Headers\Builder\SecurityHeadersBuilder;
$headers = SecurityHeadersBuilder::recommended()->build();
foreach ($headers as $name => $value) {
header("{$name}: {$value}");
}
use Zappzarapp\Security\Csp\HeaderBuilder;
use Zappzarapp\Security\Csp\Directive\CspDirectives;
use Zappzarapp\Security\Csp\Nonce\NonceGenerator;
$generator = new NonceGenerator();
$csp = HeaderBuilder::build(CspDirectives::strict(), $generator);
header("Content-Security-Policy: {$csp}");
$nonce = $generator->get();
echo "<script nonce=\"{$nonce}\">console.log('Safe!');</script>";
use Zappzarapp\Security\Csrf\CsrfProtection;
use Zappzarapp\Security\Csrf\Storage\SessionCsrfStorage;
$csrf = new CsrfProtection(new SessionCsrfStorage());
// Gerar token para o formulário
$token = $csrf->generateToken();
echo '<input type="hidden" name="_token" value="' . $token->value() . '">';
// Validar no envio
if (!$csrf->validateToken($_POST['_token'])) {
throw new Exception('Falha na validação CSRF');
}
use Zappzarapp\Security\Sanitization\Html\HtmlSanitizer;
use Zappzarapp\Security\Sanitization\Path\PathValidationConfig;
use Zappzarapp\Security\Sanitization\Path\PathValidator;