🔒 Sicherheitsleitfaden
PulseHub ist mit Sicherheit als grundlegendem Anliegen gebaut.
Authentifizierung
- Passwörter: bcrypt mit Kostenfaktor 12 — nie im Klartext gespeichert
- Sessions:
HttpOnly,SameSite=Strict,use_strict_mode, beim Login regeneriert - Zeitkonstanter Vergleich über
password_verify()undhash_equals()
SQL-Injection-Prävention
Jede Abfrage verwendet PDO Prepared Statements mit EMULATE_PREPARES = false. Benutzereingaben können nie als SQL-Syntax interpretiert werden.
XSS-Prävention
Alle dynamischen Ausgaben werden mit e() → htmlspecialchars(ENT_QUOTES | ENT_HTML5, 'UTF-8') escaped.
CSRF-Schutz
SameSite=Strict-Cookies verhindern Cross-Site-Anfragen. Login- und Installer-Formulare enthalten ein verstecktes _token-Feld.
Webhook-Signaturverifizierung
- WhatsApp, Facebook, Instagram: HMAC-SHA256 mit App Secret
- Viber: HMAC-SHA256 mit Auth Token
- Alle verwenden
hash_equals()(konstante Zeit)
Verzeichnis-Zugriffskontrollen
Sensible Verzeichnisse (config/, app/, data/) sind vom Webzugriff über .htaccess und nginx-Konfiguration blockiert.
Empfohlene Sicherheits-Header
<IfModule mod_headers.c>
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
PulseHub sicher halten
- PHP und MySQL aktuell halten
- Überall HTTPS verwenden
- API-Schlüssel regelmäßig rotieren
- Cron-Logs überwachen
- Regelmäßige Backups von Datenbank und
config/-Verzeichnis