CODE

Benutzerdefiniertes CSP – Schützen Sie Ihre Site

Benutzerdefiniertes CSP – Schützen Sie Ihre Site

Beschreibung:
Dieses Plugin hilft, Ihre Joomla-Website zu sichern, indem es steuert, welche externen Dienste und CDNs

(wie Google Fonts, YouTube oder LinkedIn) geladen werden dürfen. Es bietet zusätzliche Sicherheit, indem es dem Browser mitteilt, was sicher ist und was blockiert werden soll.

 

Sie können gängige Quellen mit einfachen Ja/Nein-Optionen aktivieren oder deaktivieren und sogar Ihre eigenen vertrauenswürdigen Domänen (wie Ihr CDN oder einen externen Schriftarten-/Bildhoster) hinzufügen. Keine Programmierung erforderlich – einfach klicken und speichern.

Beispiel: Sie möchten ein YouTube-Video einbetten oder Google Fonts laden? Aktivieren Sie es einfach!

 

Download this Plugin

 

Technische Beschreibung

Plugin Name:
plgSystemCustomCsp – Joomla 5 Content Security Policy Manager 

Zweck:
Dieses Joomla 5-System-Plugin fügt einen anpassbaren Content-Security-Policy (CSP)-HTTP-Header in das Frontend der Website ein und hilft so, XSS-Angriffe, Dateneinschleusung und das unbefugte Laden externer Assets zu verhindern.

Key Features:

  • Vollständig konfigurierbar über die Joomla-Admin-Benutzeroberfläche (keine Codebearbeitung)
  • CSP-Zugriff für allgemeine externe Ressourcen umschalten:
    • Google Fonts
    • Font Awesome CDN
    • jQuery CDN
    • Bootstrap CDN
    • LinkedIn embeds/widgets
    • YouTube videos
    • Animate.css
  • Erweiterter Modus: Administratoren können benutzerdefinierte Domänenlisten (durch Kommas getrennt) pro Direktive angeben:
    • script-src
    • style-src
    • font-src
    • img-src
    • frame-src

Implementierungshinweise

  • Benutzerdefiniertes CSP – Schützen Sie Ihre Site wird nur im Frontend (Site-Client) erzwungen.
  • Alle Domänen werden bereinigt und zur Laufzeit an die entsprechenden CSP-Anweisungen angehängt.
  • Der endgültige Header wird über den Hook onAfterInitialise() eingefügt.

Ausgabebeispiel:

Content-Security-Policy:
default-src 'self';
script-src 'self' https://code.jquery.com https://cdn.example.com;
style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
font-src 'self' https://fonts.gstatic.com;
img-src 'self' data: https://images.example.org;
frame-src https://www.youtube.com;
connect-src 'self';
object-src 'none';
base-uri 'self';
form-action 'self';