Zum Hauptinhalt springen

🔒 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() und hash_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

  1. PHP und MySQL aktuell halten
  2. Überall HTTPS verwenden
  3. API-Schlüssel regelmäßig rotieren
  4. Cron-Logs überwachen
  5. Regelmäßige Backups von Datenbank und config/-Verzeichnis