
PHP 8.4+ Sicherheitsbibliothek (Spiegel)
Umfassende PHP-Sicherheitsbibliothek mit CSP, Security Headers, CSRF-Schutz, sicheren Cookies, Passwortvalidierung, Eingabebereinigung, Rate Limiting, SRI, Secrets-Laden, Verschlüsselung, Session-Sicherheit, TOTP-Zwei-Faktor- Authentifizierung, signierten URLs und Sicherheits-Ereignisprotokollierung.
unsafe-*, HTTPS-firstwith*()-APIext-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());
// Token für Formular generieren
$token = $csrf->generateToken();
echo '<input type="hidden" name="_token" value="' . $token->value() . '">';
// Bei Übermittlung validieren
if (!$csrf->validateToken($_POST['_token'])) {
throw new Exception('CSRF validation failed');
}
use Zappzarapp\Security\Sanitization\Html\HtmlSanitizer;
use Zappzarapp\Security\Sanitization\Path\PathValidationConfig;
use Zappzarapp\Security\Sanitization\Path\PathValidator;
// HTML bereinigen (entfernt gefährliche Tags/Attribute)
$sanitizer = new HtmlSanitizer();
$safe = $sanitizer->sanitize($userInput);
// Dateipfade validieren (Directory Traversal verhindern)
$validator = new PathValidator(new PathValidationConfig(basePath: '/var/www/uploads'));
if (!$validator->isSafe($userPath)) {
throw new Exception('Invalid path');
}
Weitere detaillierte Beispiele für alle Module finden Sie in der Dokumentation.
Jedes Modul verfügt über eine ausführliche API-Dokumentation mit Klassenreferenzen, Konfigurationsoptionen und Codebeispielen:
Diese Bibliothek folgt Semantic Versioning 2.0.0.
Alle Klassen, Schnittstellen und Methoden im Zappzarapp\Security-Namespace
gelten als öffentliche API, sofern sie nicht mit @internal markiert sind.
Breaking Changes erfolgen nur in Hauptversionen, mit Deprecation-Warnungen
mindestens eine Nebenversion vor der Entfernung.
Releases werden automatisiert über release-please erstellt und GPG-signiert. Siehe CHANGELOG.md für den Versionsverlauf.
Siehe SECURITY.md für die Meldung von Schwachstellen und Sicherheitshinweise.
Siehe CONTRIBUTING.md für die Entwicklungsumgebung und Richtlinien zur Mitarbeit.
MIT-Lizenz — siehe LICENSE-Datei für Details.
| Modul | Beschreibung | Wichtige Klassen |
|---|
| CSP | Content-Security-Policy-Header-Erstellung und Verstoßmeldung | CspDirectives, HeaderBuilder, NonceGenerator, CspReportParser |
| Headers | Sicherheitsheader (HSTS, Permissions-Policy usw.) | SecurityHeaders, SecurityHeadersBuilder |
| CSRF | Schutz vor Cross-Site Request Forgery | CsrfProtection, CsrfConfig |
| Cookie | Sichere Cookie-Verwaltung | SecureCookie, CookieBuilder, CookieOptions |
| Encryption | Authentifizierte XChaCha20-Poly1305-Verschlüsselung | SymmetricEncryptor, EnvelopeEncryptor, EncryptionKey, KeyRingEncryptor |
| Password | Passwortvalidierung und -hashing | PasswordPolicy, PwnedPasswordChecker, PepperedPasswordHasher |
| Sanitization | Eingabebereinigung (HTML, SQL, URI, Pfad) und Datei-Upload-Validierung | HtmlSanitizer, UriSanitizer, PathValidator, UploadValidator |
| RateLimiting | Rate Limiting mit mehreren Algorithmen | DefaultRateLimiter, RateLimitConfig |
| SRI | Subresource-Integrity-Hash-Generierung | SriHashGenerator, IntegrityAttribute |
| Secrets | Docker-/dateibasiertes Secrets-Laden | SecretLoader, SecretValue, FileSecretSource |
| Session | Session-Härtung und Fixationsschutz | SessionGuard, SessionConfig, SessionConfigurator |
| SignedUrl | HMAC-signierte URLs mit obligatorischem Ablauf | UrlSigner, SigningKey |
| TOTP | Zeitbasierte Einmalpasswörter (RFC 6238) | TotpAuthenticator, TotpSecret, ProvisioningUri, RecoveryCodeGenerator |
| Analyzer | Sicherheitsheader-Analyse und -Audit | SecurityHeaderAnalyzer, AnalysisResult |
| Scanner | CLI-Sicherheitsheader-Scanner | ScanCommand, StreamHeaderFetcher |
| Middleware | PSR-15-Middleware für nahtlose Framework-Integration | SecurityHeadersMiddleware, CspMiddleware, CspReportHandler, CsrfMiddleware, DoubleSubmitCsrfMiddleware, RateLimitMiddleware, CorsMiddleware |
| Logging | Sicherheits-Ereignisprotokollierung | SecurityAuditLogger, SecurityEvent |
| Modul | Beschreibung |
|---|
| CSP | Content Security Policy mit Nonces und Verstoßmeldung |
| Headers | HSTS, COOP, COEP, CORP, Permissions |
| CSRF | Token-Muster und Validierung |
| Cookie | Sichere Cookie-Verwaltung |
| Encryption | Authentifizierte Verschlüsselung, Envelopes |
| Password | Hashing, Richtlinien, Leak-Erkennung |
| Sanitization | HTML-, URI-, Pfadbereinigung und Datei-Upload-Validierung |
| Rate Limiting | Token Bucket, Sliding Window |
| SRI | Subresource-Integrity-Hashes |
| Secrets | Docker-/dateibasiertes Secrets-Laden |
| Session | Session-Härtung, Fingerprinting |
| Signed URLs | HMAC-signierte URLs mit Ablauf |
| TOTP | Einmalpasswörter, Wiederherstellungscodes |
| Analyzer | Sicherheitsheader-Audit |
| Scanner | CLI-Header-Scanner für CI |
| Middleware | PSR-15-Middleware |
| Logging | Sicherheits-Ereignisprotokollierung |
| Glossary | Referenz zu Sicherheitsbegriffen |