AddOn


Consent Manager

Beschreibung

Das Nachfolge-Addon von iwcc (Cookie-Gedöns).

Stellt ein Opt-In Cookie-Banner zur Verfügung. Cookies können in selbst definierte Gruppen zusammengefasst werden. Der Website-Besucher bekommt eine Cookie-Box angezeigt in der er allen oder einzelnen Gruppen zustimmen kann. Es existiert eine Gruppe Notwendig, die nicht deaktiviert werden kann. Die Cookie-Box kann erneut (zum Beispiel über einen Link im Impressum) aufgerufen werden, um die Auswahl nachträglich zu ändern. Alle Texte sowie die Gestaltung der Cookie-Box sind anpassbar.


github.com/FriendsOfREDAXO/consent_manager

Umsetzung

Versionen

5.8.3

Für REDAXO
^5.15
Veröffentlicht am
08.08.2026
Require / PHP
>=8.1, <9

Release Notes v5.8.3 (08.08.2026)

Mit den Versionen 5.8.0 bis 5.8.3 erhält der Consent Manager erweiterte Funktionen für mehrsprachige Setups, verbesserte UX im Backend sowie wichtige Fixes und Stabilitätsoptimierungen:

  • Mehrsprachigkeit & Dienstzuweisung (5.8.0): Cookie-Gruppen in Sekundärsprachen können Dienste nun wahlweise erben (inherit) oder individuell zuweisen (custom). Ergänzt durch einen globalen Deaktivierungs-Schalter sowie Statusindikatoren und dynamische Formularfelder im Backend.
  • Smarter Re-Consent & Backend-Performance (5.8.0): Integration eines service_scope_hash im Consent-Cookie, sodass ein erneuter Consent bei Sprachwechsel nur bei tatsächlichen Scope-Änderungen erzwungen wird. Inklusive fehlersicherer DB-Zugriffe und automatisierter Asset-Minifizierung im CI-Check.
  • Eindeutigkeit bei Multidomain-Diensten (5.8.2): In der Dienstauswahl von Cookie-Gruppen wird nun auch die Variante/der Zweck angezeigt und von der Live-Suche erfasst, um gleichnamige Dienste domainübergreifend eindeutig zu unterscheiden.
  • Bugfixes & Pflege (5.8.1 & 5.8.2): Das Feld „Cookie-Name“ in den Einstellungen speichert und zeigt Werte wieder korrekt an. Zudem wurden Sonderzeichen-Encodingfehler behoben sowie RexStan-Typisierungen und Code-Aufreinigungen durchgeführt.

5.7.0

Für REDAXO
^5.15
Veröffentlicht am
10.07.2026
Require / PHP
>=8.1, <9

Release Notes - Version 5.7.0 (09.07.2026)

Diese Version bringt umfassende Verbesserungen am Theme-Editor, führt einen effizienteren Workflow für das Umbenennen von Schlüsseln ein und optimiert die Stabilität sowie die UX.


Theme-Editor & Live-Vorschau

Der Theme-Editor wurde grundlegend überarbeitet, um eine direkte und präzisere Gestaltung zu ermöglichen:

  • Live-Vorschau: Einführung eines Echtzeit-Editors, der Änderungen an Farben, Overlays, Backdrops und Details direkt im Backend sichtbar macht.
  • Detaillierte Konfiguration:
    • Gruppen-Header: Separate Konfiguration für Hintergrund, Rahmen- und Schriftfarbe.
    • Details-Button: Umfassende Steuerung von Text, Hintergrund, Hover-Zuständen, Rahmenfarbe und -breite.
    • Transparenz: Ergänzung expliziter Transparenz-Optionen für Buttons (Normal & Hover).
  • Typografie: Umstellung der Schriftgrößen auf rem und Integration eines optionalen Responsive-Typografie-Schalters mittels clamp().
  • Komfort & Kontrast:
    • Erweiterte automatische Farbvorschläge (Textfarbe basierend auf Hintergrund).
    • Präzisere Kontrastprüfung für Inhalts-Links (berücksichtigt nun den effektiven Tabellen-/Zeilenhintergrund).
  • Fixes: Korrekte Anbindung der Inhalts-Linkfarbe und verbesserte Darstellung von Hover-Zuständen in der Live-Vorschau.

Workflow & Usability

  • Optimierter Rename-Workflow:
    • Schlüssel-Umbenennung erfolgt nun direkt in den jeweiligen Übersichtslisten (Dienste, Gruppen, Texte) – kein Umweg über die Settings nötig.
    • Sicherheits-Feature: Ein erfolgreicher „Dry-Run“ ist nun zwingend erforderlich, bevor Änderungen angewendet werden können. Der „Apply“-Button ist bis zur Prüfung deaktiviert.
    • Transparenz: Der Dialog zeigt nun Auswirkungen, Risiken und notwendige manuelle Nacharbeiten direkt an.
  • Settings-Bereinigung: Der bisherige UID/Schlüssel-Rename-Block wurde aus den Settings entfernt, um redundante Workflows zu eliminieren.
  • UX Mehrsprachigkeit: Das Panel „Sprach-Sync“ erscheint in den Settings nur noch, wenn tatsächlich mehr als eine Sprache konfiguriert ist.

Technische Optimierungen & Fixes

  • Google Consent Mode v2: Optimierung der Einbindung (defer), um eine korrekte und rechtzeitige Initialisierung der gtag('consent', 'default', ...)-Befehle im dataLayer zu gewährleisten. (Danke an @tyrant88)

What's Changed

Full Changelog: https://github.com/FriendsOfREDAXO/consent_manager/compare/5.6.11...5.7.0

5.6.11

Für REDAXO
^5.15
Veröffentlicht am
09.07.2026
Require / PHP
>=8.1, <9

Version 5.6.11 - 08.07.2026

  • UX (Mehrsprachigkeit/Listen): Eigene Übersetzungsstatus-Spalte in den Listen für Dienste, Gruppen und Texte ergänzt.
  • UX (Mehrsprachigkeit/Status): Sprach-Icon wird pro Datensatz als Statusindikator genutzt (grün = übersetzt, grau = nicht übersetzt).
  • UX (Listen-Layout): Doppelmarkierungen entfernt (kein zusätzlicher Punkt mehr im Schlüssel), dadurch klarere und ruhigere Tabellenansicht.
  • Setup (Initial-Importe): System-Cookie in den Setup-Dateien von consent_manager auf consentmanager umgestellt (UID, Cookie-Name und Gruppenzuordnung).
  • Setup (Initial-Importe): Cookie-Definitionen für LinkedIn Insight Tag und Google Analytics in den Start-Setups auf den aktuellen Stand gebracht (inkl. __cf_bm, bcookie, li_gc, lidc, _ga, _ga_S0R9E6EWX7).
  • Kompatibilität: Backend- und Cache-Logik akzeptiert für den System-Cookie jetzt sowohl consent_manager (Bestand) als auch consentmanager (neue Initial-Importe).
  • Fix (Cookie-Name aus Config): Für den System-Cookie wird in der Ausgabe immer der in den Addon-Einstellungen konfigurierte Cookie-Name verwendet (statt statischer Setup-Werte).

5.6.10

Für REDAXO
^5.15
Veröffentlicht am
08.07.2026
Require / PHP
>=8.1, <9
  • Mehrsprachigkeit stabilisiert: Sprachdatensätze werden sauber über UID zugeordnet, nicht mehr fehleranfällig über ID.
  • Sprachwechsel im Backend korrigiert: Beim Wechsel zwischen Sprachen wird jetzt der richtige Datensatz geöffnet.
  • Übersetzungsstatus verbessert: Klare Anzeige je Sprache (Primär, Primärsprache/Fallback, Teilweise, Übersetzt) mit Symbol/Farb-Badge.
  • Sprach-Sync ergänzt: Fehlende Einträge können gezielt aus einer Quellsprache in Zielsprachen übernommen werden, ohne bestehende Übersetzungen zu überschreiben.
  • Import robuster gemacht: Externe IDs aus JSON sind irrelevant, Zuordnung erfolgt über UID; doppelte Einträge im Import werden abgefangen.
  • Standard-Setup bereinigt: Fehlerhafte doppelte Service-ID im Setup korrigiert.
  • Texte-Handling verbessert: Neue Text-Keys können wieder manuell angelegt werden.

5.6.8

Für REDAXO
^5.15
Veröffentlicht am
02.07.2026
Require / PHP
>=8.1, <9

Fix: Import einer json Settings Datei funktioniert jetzt
@tyrant88

5.6.7

Für REDAXO
^5.15
Veröffentlicht am
15.06.2026
Require / PHP
>=8.1, <9

Fix (Mehrsprachigkeit/Reinstall): Beim Deinstallieren werden jetzt alle Addon-Konfigurationswerte entfernt. Dadurch wird nach Neuinstallation die Initialisierung für bestehende Nicht-Startsprachen wieder korrekt ausgeführt und Gruppen/Dienste sind vollständig vorhanden.

5.6.6

Für REDAXO
^5.15
Veröffentlicht am
30.05.2026
Require / PHP
>=8.1, <9

What's Changed

Full Changelog: https://github.com/FriendsOfREDAXO/consent_manager/compare/5.6.5...5.6.6

5.6.5

Für REDAXO
^5.15
Veröffentlicht am
22.05.2026
Require / PHP
>=8.1, <9

What's Changed

New Contributors

Full Changelog: https://github.com/FriendsOfREDAXO/consent_manager/compare/5.6.4...5.6.5

5.6.4

Für REDAXO
^5.15
Veröffentlicht am
11.04.2026
Require / PHP
>=8.1, <9

What's Changed

Full Changelog: https://github.com/FriendsOfREDAXO/consent_manager/compare/5.6.3...5.6.4

5.6.3

Für REDAXO
^5.15
Veröffentlicht am
08.04.2026
Require / PHP
>=8.1, <9
  • Fix (Frontend): Verbesserte Consent Debug-Infos (klarerer Status, bevor der Nutzer eingewilligt hat, Erklärung teilweise abgelehnter Dienste).
  • A11y: Debug-Panel-Elemente mit sa11y-ignore versehen, damit Accessibility-Werkzeuge diese Entwickler-UI ignorieren.

5.6.2

Für REDAXO
^5.15
Veröffentlicht am
30.03.2026
Require / PHP
>=8.1, <9

fixed: https://github.com/FriendsOfREDAXO/consent_manager/issues/477
Setzt noindex header für js @thielpeter

5.6.0

Für REDAXO
^5.15
Veröffentlicht am
30.03.2026
Require / PHP
>=8.1, <9

Theme-System überarbeitet

Theme-CSS wird nun aus einem dedizierten themes/-Ordner geladen und kompiliert, statt über das öffentliche Asset-Mirroring. Theme-Dateien liegen nicht mehr unnötig im Public-Bereich, und die Fallback-Logik für Cache-Busting wurde robuster gestaltet.

Neue Features

  • consent_manager-ready-Event (JS API): Eigene Skripte können jetzt zuverlässig auf die Initialisierung des ConsentManagers reagieren.
  • Read-only Checkbox-Fragment: Neues Fragment fake_checkbox.php für die saubere Darstellung von Read-only-Checkboxen im Backend.

Fixes

  • Cookie-Beschreibungen (#475): $def['description']-Werte werden in den Framework-Fragmenten (bootstrap5, bulma, uikit3) wieder korrekt ausgegeben.
  • Consent-Logging: Request auf same-origin umgestellt, um TypeError: Load failed bei Host-/Protokoll-Mismatch zu vermeiden.
  • Backend-JS: Wird nun zentral im Boot-Prozess eingebunden und auf rex:ready vereinheitlicht; PJAX-spezifische Sonderpfade entfernt.

Refactoring & Cleanup

  • UID-Felder im Backend nutzen jetzt native REDAXO-ReadOnly-Felder (addReadOnlyField).
  • RexFormSupport rendert Fake-Felder über Fragmente statt manuellem HTML-String-Building (#423).
  • Inline-JS aus config.php und help.php in externe Assets ausgelagert (#470).
  • Fragment-Header vereinheitlicht und Schnittstellen/Variablen dokumentiert (#468).

Dokumentation

  • Dokumentation in einen zentralen docs/-Ordner überführt und thematisch aufgeteilt.
  • Neues Schritt-für-Schritt-Tutorial (docs/tutorial_so_gehts.md).
  • Erweiterte Setup-Doku inkl. Wizard-Beschreibung (docs/installation_und_grundeinrichtung.md).
  • CKE5 oEmbed-Lösung ausführlich dokumentiert inkl. Troubleshooting.
  • Neue Entwickler-Kurzhilfe DEV_QUICKSTART.md mit PHP/JS-Consent-Abfragen.
  • PHP-API-Dokumentation erweitert (Frontend, Utility, ConsentManager).
  • Lizenz- und Credits-Seite in die Backend-Hilfe integriert.

5.6.0-beta4

Für REDAXO
^5.15
Veröffentlicht am
19.03.2026
Require / PHP
>=8.1, <9

Version 5.6.0-beta4 - 19.03.2026

⚠️ Beta-Release: Bitte weiterhin in realen Setups testen und Feedback geben.

  • Fix (Mehrsprachigkeit): In den Frontend-Fragmenten (box_bootstrap5.php, box_uikit3.php, box_tailwind.php) wurde rex_i18n::msg('consent_manager_cookiegroup_required') durch $cookiegroup['description'] ersetzt. Der Hinweis-Text bei pflichtigen Cookie-Gruppen wird nun korrekt aus der Datenbank pro Sprache geladen statt immer in der Backend-Sprache ausgegeben.

5.6.0-beta3

Für REDAXO
^5.15
Veröffentlicht am
06.03.2026
Require / PHP
>=8.1, <9

Version 5.6.0-beta3 - 06.03.2026

⚠️ Beta-Release: Bitte weiterhin in realen Setups testen und Feedback geben.

  • Docs: Dokumentation in einen zentralen docs/-Ordner überführt und thematisch in Einzeldokumente aufgeteilt.
  • Docs: README auf allgemeine Produktinfos reduziert; technische Details in dedizierte Doku-Seiten ausgelagert.
  • Docs: Neues Schritt-für-Schritt-Tutorial ergänzt (docs/tutorial_so_gehts.md).
  • Docs: Setup-Doku um ausführliche Wizard-Beschreibung inkl. Felder/Flows erweitert (docs/installation_und_grundeinrichtung.md).
  • Docs: Domain-Zuordnung für Gruppen explizit dokumentiert (docs/dienste_und_gruppen.md).
  • Docs: CKE5 oEmbed-Lösung ausführlich beschrieben (Aktivierung, Voraussetzungen, Ablauf, Troubleshooting) (docs/erweiterte_konfiguration.md).
  • Docs/API: PHP-API-Dokumentation erweitert (u. a. Frontend, Utility, ConsentManager) (docs/api.md).
  • Backend Help: Hilfe-Navigation auf neue Docs-Struktur umgestellt und logisch sortiert (u. a. Setup, Dienste & Gruppen, Dev Kurzhilfe vor API, Tutorial).
  • Backend Help: Link-Rewrite robuster gemacht (.md-Links inkl. Ankern, docs/...-Pfade, Top-Anchor-Verhalten, amp;func-Fallback).
  • Backend Help: Lizenz- und Credits-Seite in die Hilfe integriert.
  • Fix (Issue #475): Cookie-Definitions-Beschreibungen ($def['description']) werden in den Framework-Fragmenten wieder ausgegeben (box_bootstrap5.php, box_bulma.php, box_uikit3.php).

Version 5.6.0-beta2 - 05.03.2026

⚠️ Beta-Release: Weiterhin Beta-Status. Bitte in realen Setups testen und Rückmeldung geben.

👉 Feedback erwünscht: Bitte testet insbesondere Multi-Domain-Setups, globale vs. domain-spezifische Theme-Auswahl, Custom-Themes aus dem project-Addon und den Install/Update-Pfad. Rückmeldungen/Edge-Cases bitte direkt als Issue melden.

  • Refactor (Core-nah): Anzeige-only UID-Felder in den Formularen auf native REDAXO-ReadOnly-Felder (addReadOnlyField) umgestellt.
  • Refactor (Issue #423): RexFormSupport erzeugt Fake-Felder nicht mehr per manuellem HTML-String-Bau, sondern rendert über Fragmente.
  • Feature (Intern): Neues Fragment für die read-only Checkbox-Ausgabe ergänzt (fragments/ConsentManager/fake_checkbox.php).
  • Cleanup: Codepfade für Fake-Textausgaben vereinfacht und näher an REDAXO-Core-Konventionen ausgerichtet.
  • Docs/Cleanup (Issue #468): Fragment-Header im AddOn vereinheitlicht und erwartete Fragment-Schnittstellen/Variablen dokumentiert.
  • Cleanup (Issue #470): Inline-JS aus pages/config.php und pages/help.php in externe Assets ausgelagert.
  • Fix: Backend-JS wird zentral im Boot-Prozess eingebunden, statt seitenlokal verteilt.
  • Fix: Initialisierung im Backend auf rex:ready vereinheitlicht; PJAX-spezifische Zusatzpfade entfernt.
  • Fix: Consent-Logging-Request auf same-origin umgestellt (window.location statt fe_controller), um TypeError: Load failed bei Host-/Protokoll-Mismatch zu vermeiden.
  • Feature (JS API): Neues Event consent_manager-ready eingeführt, damit eigene Skripte zuverlässig auf die Initialisierung reagieren können.
  • Docs: Neue Entwickler-Kurzhilfe DEV_QUICKSTART.md mit Einbindungsvarianten sowie Consent-Abfragen per PHP/JavaScript ergänzt und in die Hilfe-Navigation integriert.

Version 5.6.0-beta1 - 05.03.2026

⚠️ Beta-Release: Bitte noch nicht als finalen Stand für produktive Installationen einplanen. Wir freuen uns über Tests und Rückmeldungen aus realen Setups.

  • Feature (Beta): Theme-Handling überarbeitet: Theme-CSS wird jetzt aus einem dedizierten AddOn-Ordner themes/ geladen/kompiliert statt über public Asset-Mirroring.
  • Feature (Beta): Kompilierte Theme-Dateien werden aus assets/ nach themes/ verlagert; assets/ bleibt auf Laufzeit-/Runtime-Dateien fokussiert.
  • Fix (Beta): Public-Assets werden bereinigt, sodass Theme-Dateien nicht mehr unnötig öffentlich gespiegelt werden.
  • Fix (Beta): Robustere Fallback-Logik für Cache-Busting (filemtime) ohne Warnungen, wenn eine Datei im public Mirror nicht vorhanden ist.
  • Hinweis: Umsetzung auf Wunsch von Thomas Blum.

5.5.4

Für REDAXO
^5.15
Veröffentlicht am
05.03.2026
Require / PHP
>=8.1, <9

Für Marco\n\n- README ergänzt: Google Consent Mode v2 Helper wird nur im Manual-Modus benötigt.\n- package.yml auf Version 5.5.4 erhöht.\n- Changelog für 5.5.4 ergänzt.

5.5.3

Für REDAXO
^5.15
Veröffentlicht am
02.03.2026
Require / PHP
>=8.1, <9

Version 5.5.3 - 02.03.2026

  • Feature: Auto-Blocking-Assistent unterstützt jetzt mehrere Elemente gleichzeitig (z.B. mehrere <script>-Tags + <iframe> bei Widgets wie TrustYou)
  • Enhancement: Verbessertes Multi-Element-Blocking für komplexe Widget-Integrationen

Der Auto-Blocking-Assistent bearbeitet nun alle Elemente im eingegebenen Code, nicht nur das erste. Dies ermöglicht das Blockieren komplexer Widgets wie TrustYou mit mehreren Scripts und iFrames.

5.5.2

Für REDAXO
^5.15
Veröffentlicht am
20.02.2026
Require / PHP
>=8.1, <9

What's Changed

New Contributors

Full Changelog: https://github.com/FriendsOfREDAXO/consent_manager/compare/5.5.1...5.5.2

5.5.1

Für REDAXO
^5.15
Veröffentlicht am
17.02.2026
Require / PHP
>=8.1, <9

Kleinere Style fixes und defekte themes entfernt

5.5.0

Für REDAXO
^5.15
Veröffentlicht am
17.02.2026
Require / PHP
>=8.1, <9

Version 5.5.0 - 17.02.2026

  • Feature: Inline-Consent kann nun optional auf "Session-Scope" beschränkt werden. Zustimmungen gelten dann nur, solange der Browser-Tab offen ist (via sessionStorage). Konfigurierbar unter Einstellungen.
  • Fix: Reload-Loop behoben: Das Öffnen der Details aus einem Inline-Element führte unter Umständen zu einem sofortigen Neuladen der Seite.
  • Fix: iOS Safari Touch-Event Handling verbessert: Button musste unter Umständen doppelt getippt werden; nun reagiert er sofort.
  • Security: CSRF/XSS-Schutz: Fehlende CSP-Nonce für Inline-Styles und Scripte ergänzt (theme_editor.php und box_cssjs.php).
  • Theming wird deaktiviert wenn eigenes CSS oder Framework gewählt wurde.

What's Changed

Full Changelog: https://github.com/FriendsOfREDAXO/consent_manager/compare/5.4.2...5.5.0

5.3.5

Für REDAXO
^5.15
Veröffentlicht am
05.02.2026
Require / PHP
>=8.1, <9

5.3.4

Für REDAXO
^5.15
Veröffentlicht am
29.01.2026
Require / PHP
>=8.1, <9

Version 5.3.4 - 29.01.2026

  • Fix: JSON Parsing Fehler im Frontend behoben (double-escaping von HTML-Attributen entfernt), was zu Fehlern beim Laden der Cookie-Gruppen führte (safeJSONParse failed).

  • Fix: Fehler beim Laden von Framework-Templates behoben (Call to undefined method rex_fragment::subparse()).

  • Security: Schwachstelle in consent_manager_outputjs behoben (Input-Sanitizing für cid und v Parameter).

  • Security: Schutz vor Host-Header Injection im Frontend-Output.

  • Fix: JavaScript Syntax-Fehler durch verbessertes Template-Escaping behoben (json_encode statt string replace).

5.3.3

Für REDAXO
^5.15
Veröffentlicht am
29.01.2026
Require / PHP
>=8.1, <9

Neue Hilfe mit Suche und besserer Struktur

5.3.2

Für REDAXO
^5.15
Veröffentlicht am
28.01.2026
Require / PHP
>=8.1, <9

Consent wie du es magst!

Startschuss für Version 5.3.0! Dieses Update ist ein echtes Feature-Release und bringt eine Menge Bewegung in den REDAXO consent_manager. Von der optischen Anpassung bis tief in den Maschinenraum wurde ordentlich geschraubt. Hier ist der Überblick über alles Neue:

Framework-First & Design

Schluss mit Design-Brüchen. Frontend-Frameworks werden jetzt nativ unterstützt:

  • Voller Support: Egal ob UIkit 3, Bootstrap 5, Tailwind CSS oder Bulma – die Ausgabe passt sich nahtlos an.
  • Pure Utility Strategy: Statt eigener Styles kommen native Klassen zum Einsatz (z.B. .rounded-4, .flex).
  • Backdrop & Schatten: Modal-Overlays und Design-Details wie Schatten oder Rundungen werden direkt auf die Framework-Logik gemappt.

Themes & Vorschau

Das Auge entscheidet mit. Die Theme-Verwaltung wurde komplett überarbeitet:

  • Domain-spezifische Themes: Jede Domain kann nun ein komplett eigenes Theme inklusive 2-Spalten-Layout-Konfiguration nutzen.
  • Live-Preview: Änderungen am Theme werden sofort sichtbar – ohne Neuladen.
  • Moderne Vorschau: Eine neugestaltete Preview-Seite bietet 32 Varianten (Farben & Layouts) mit professionellen SVG-Icons und echter Website-Integration.

Editorial-Dashboard (Neu für Redaktion)

Ein komplett neuer Bereich ermöglicht die Verwaltung von Consent-Codes ohne Admin-Rechte:

  • Snippet-Manager: Häufig genutzte Codes lassen sich speichern, benennen und wiederverwenden.
  • Auto-Blocking-Assistent: Externer Code (YouTube, Maps etc.) wird interaktiv mit data-consent-Attributen versehen.
  • Metadaten & Fallbacks: Provider, Datenschutz-Links und Platzhalter-Texte lassen sich direkt pflegen.

Auto-Inject & Setup

Die Integration ins Frontend wird deutlich komfortabler:

  • Setup-Wizard: Ein Assistent hilft bei der Erstkonfiguration.
  • Automatische Einbindung: Der Consent Manager kann nun per Checkbox (Auto-Inject) vor </head> platziert werden – ganz ohne manuelle Template-Anpassung.
  • Template-Positivliste: Die automatische Einbindung lässt sich gezielt auf bestimmte Templates beschränken (oder global aktivieren).
  • Reload & Fokus: Optionen für automatischen Page-Reload nach Consent und Barrierefreiheits-Fokus auf die Box sind integriert.

Security & Google Consent Mode v2

Unter der Haube wurde massiv an der Sicherheit und Compliance gearbeitet:

  • Security Audit: Ein vollständiges Audit sorgt für Sicherheit, inklusive CSP-Nonce-Schutz für alle Inline-Scripte.
  • Google Consent Mode v2: Optimierte, Runtime-basierte Implementierung (statt localStorage) für bessere Stabilität.
  • Duplikat-Prävention: Smarte Checks verhindern, dass externe Scripte doppelt geladen werden (z.B. bei GTM-Konflikten).

Multi-Language & Inline-Consent

Mehr Flexibilität bei Sprachen und Inhalten:

  • Sprach-Unabhängigkeit: Script-Felder (Tracking-IDs etc.) sind nun in allen Sprachen separat editierbar – mit automatischem Fallback auf die Startsprache.
  • Inline-Verbesserungen: Individuelle data-consent-text Platzhalter pro Element und Custom Privacy Notices sind möglich.
  • Regex-Scanning: Blockierte Elemente werden noch zuverlässiger erkannt und ersetzt.

Debugging & Performance

Fehler finden und Ladezeiten optimieren:

  • Erweitertes Debug-Widget: Detaillierte Infos zu Cookie-Größe, Consent-Alter und Duplicate-Detection.
  • Warnhinweise: Automatische Warnungen bei zu großen Cookies (>4KB) oder veraltetem Consent (>365 Tage).
  • Performance: JavaScript-Optimierungen (Event-Delegation, Caching) sorgen für schnellere Ausführung.

Dokumentation

Die Doku wurde aufgeräumt, Emoji-bereinigt und um die neuen Features wie Auto-Inject und das verbesserte Link-Handling (z.B. data-consent-action="settings") ergänzt.

5.3.0-beta6

Für REDAXO
^5.15
Veröffentlicht am
26.01.2026
Require / PHP
>=8.1, <9
  • Theme je Domain 😀
  • Livepreview überarbeitet und erweitert 😁
  • Security fixes 🔔
  • Bessere Performance
  • Eigener Cookie-Name
  • Unsplashbilder entfernt
  • Viele weitere Verbesserungen

und und und

Setup-Wizard für Erstkonfiguration, Domain-spezifische Themes mit Live-Preview, moderne Theme-Vorschau mit 32 Varianten, Google Consent Mode v2 Optimierungen, vollständiges Security-Audit mit CSP-Nonce-Schutz, Multi-Language-Verbesserungen mit editierbaren Script-Feldern, automatische Frontend-Einbindung per Domain-Option mit Template-Positivliste, erweiterte Debug-Tools mit Cookie-Analyse und Performance-Optimierungen.

HINWEIS: DAS IST EINE BETA SIE KANN FEHLER ENTHALTEN

Full Changelog: https://github.com/FriendsOfREDAXO/consent_manager/compare/5.3.0-beta4...5.3.0-beta5

5.2.0

Für REDAXO
^5.15
Veröffentlicht am
19.01.2026
Require / PHP
>=8.1, <9

Version 5.2.0 - 19.01.2026

Features

  • Neue Public API: Einführung der Klasse FriendsOfRedaxo\ConsentManager\ConsentManager für den einfachen Zugriff auf gecachte Daten (Cookies, Gruppen, Texte, Domains)
  • Performance: Interne Klassen (Frontend, InlineConsent, GoogleConsentMode) nutzen nun den Cache statt direkter SQL-Abfragen
  • Code-Qualität: Refactoring der InlineConsent Klasse zur Vermeidung von Code-Duplizierung bei der Video-ID-Erkennung
  • Statistik: Neue Auswertung der Consent-Logs im Backend (Tägliche Consents, Top-Services)
  • Privacy: Dynamische Cookie-Laufzeit - Bei minimaler Zustimmung (nur notwendige Cookies) wird die Laufzeit auf 14 Tage begrenzt (Privacy by Design). Die Cookie-Beschreibung wird im Setup und Update automatisch angepasst ("14 Tage / 1 Jahr").
  • API Dokumentation: Neue Dokumentation der öffentlichen API in der README.md

Security

  • CSP: Nonce-Schutz für Inline-Skripte im Backend-Log hinzugefügt

Bugfixes

  • Button-Layout responsive optimiert: Buttons passen sich jetzt der Textlänge an und nutzen auf Desktop flex: 1 für gleichmäßige Verteilung
  • Localization: Fehlende Übersetzungen im Statistik-Modul ergänzt
  • Fixed ReferenceError when calling consent_manager_hasconsent() from external JavaScript.

4.5.7

Für REDAXO
^5.12
Veröffentlicht am
18.12.2025
Require / PHP
>=7, <9

Fixes:

  • Serverseitiges Cookie-Cleanup gegen wiederholte Consent-Aufforderungen
  • Domain-Parameter-Migration Issue #317 follow-up
  • Browser-übergreifende Lösung für Wildcard-Cookie-Probleme

5.1.3

Für REDAXO
^5.15
Veröffentlicht am
18.12.2025
Require / PHP
>=8.1, <9

Bugfix

Theme-Editor Button-Hintergrundfarbe: Button-Hintergrundfarbe wird jetzt korrekt aus dem Theme-Editor übernommen.

Technische Details

  • SCSS-Variable-Interpolation in Theme::generateA11yThemeScss() korrigiert
  • Backslash-Escape vor \$button-bg und \$button-text entfernt
  • Button-Hintergrund- und Textfarben werden jetzt korrekt aus Formular übernommen

5.1.2

Für REDAXO
^5.15
Veröffentlicht am
17.12.2025
Require / PHP
>=8.1, <9

Bugfix. Debugger war ggf. auch ohne Anmeldung sichtbar

4.3.1

Für REDAXO
^5.12
Veröffentlicht am
10.12.2025
Require / PHP
>=7, <9

DRINGEND - Sicherheitsupdate

Diese Version enthält wichtige Sicherheitsfixes. Ein Update wird dringend empfohlen.

Sicherheitsfixes

  • API Input-Validierung: Alle Eingaben in rex_api_consent_manager werden jetzt strikt validiert:
    • Domain-Format wird auf gültige Hostname-Zeichen geprüft
    • ConsentID-Format wird auf das uniqid-Format beschränkt
    • Consent-UIDs werden auf alphanumerische Zeichen, Bindestriche und Unterstriche validiert
    • CacheLogID wird auf gültiges Format geprüft
    • Ungültige Werte werden verworfen, um XSS-Angriffe über manipulierte Cookies zu verhindern
  • Domain-Normalisierung: Domains werden beim Speichern ins Log in Kleinbuchstaben normalisiert

Backport der Security-Fixes aus 4.5.6 für Nutzer der 4.3.x-Linie.

Vielen Dank an die Deutsche Telekom Security GmbH für die verantwortungsvolle Meldung der Schwachstellen.

4.5.6

Für REDAXO
^5.12
Veröffentlicht am
10.12.2025
Require / PHP
>=7, <9

SECURITY UPDATE - Dringend aktualisieren und upgraden!

Diese Version behebt eine kritische Stored XSS-Schwachstelle, die von Telekom Security gemeldet wurde. Die Schwachstelle existierte seit der ersten Version des Addons und ermöglichte es Angreifern, über manipulierte Consent-Cookies bösartigen JavaScript-Code einzuschleusen.

Vielen Dank an die Deutsche Telekom Security GmbH für die verantwortungsvolle Meldung dieser Schwachstelle.


Sicherheitsfix

  • Stored XSS behoben: Alle Cookie-Werte werden jetzt vor der Ausgabe im Debug-Widget escaped

Wichtiger Hinweis

Bitte aktualisieren Sie auf Version 5.x für aktuelle Features, verbesserte Barrierefreiheit und zukünftige Sicherheitsupdates.

3.0.9

Für REDAXO
^5.8
Veröffentlicht am
10.12.2025
Require / PHP
>=7, <9

SECURITY UPDATE - Dringend aktualisieren und upgraden!

Diese Version behebt eine kritische Stored XSS-Schwachstelle, die von Telekom Security gemeldet wurde. Die Schwachstelle existierte seit der ersten Version des Addons und ermöglichte es Angreifern, über manipulierte Consent-Cookies bösartigen JavaScript-Code einzuschleusen.

Vielen Dank an die Deutsche Telekom Security GmbH für die verantwortungsvolle Meldung dieser Schwachstelle.


Sicherheitsfix

  • Stored XSS behoben: Alle Cookie-Werte werden jetzt vor der Ausgabe im Debug-Widget escaped

Wichtiger Hinweis

Diese Version 3.x befindet sich im End-of-Life-Status. Bitte aktualisieren Sie auf Version 5.x für aktuelle Features und Sicherheitsupdates.

5.1.0

Für REDAXO
^5.15
Veröffentlicht am
10.12.2025
Require / PHP
>=8.1, <9

SECURITY UPDATE - Dringend aktualisieren!

Diese Version behebt eine kritische Stored XSS-Schwachstelle, die von Telekom Security gemeldet wurde. Die Schwachstelle existierte seit der ersten Version des Addons und ermöglichte es Angreifern, über manipulierte Consent-Cookies bösartigen JavaScript-Code einzuschleusen.

Betroffene Versionen: Alle Versionen vor 5.0.5, 4.5.6 und 3.0.9

Empfehlung: Sofortiges Update auf die neueste Version Ihrer Major-Release-Linie.

Neuer Theme-Editor

Der Theme-Editor wurde komplett überarbeitet und bietet jetzt umfangreiche Anpassungsmöglichkeiten für barrierefreie Consent-Dialoge:

  • WCAG 2.1 Kontrast-Prüfung: Live-Badges zeigen Kontrastverhältnisse (AAA/AA/unzureichend)
  • Automatische Textfarben: Berechnet optimale Text-/Hintergrund-Kombinationen per Klick
  • Details-Bereich anpassbar: Separate Farben für den aufgeklappten Cookie-Details-Bereich
  • Details anzeigen Button: Farbe, Hover-Farbe und Rahmen individuell einstellbar
  • Button-Styles: Filled/Outline-Stil, individueller Eckenradius, Rahmenbreite und -farbe
  • Schatten-Effekte: 5 Schatten-Stile (Kein/Dezent/Mittel/Stark/Schwebend) mit Farbauswahl
  • Live-Vorschauen: Alle Änderungen sofort sichtbar in Vorschau-Elementen
  • Fragment-Architektur: Code nach REDAXO-Konventionen refaktoriert

Bugfixes

  • Debug-Widget: Cookie-Name korrigiert (consent_manager → consentmanager)
  • Debug-Widget: Fehlerhafte Versions-Warnung entfernt

Security Fixes

  • Stored XSS via Consent-Cookie behoben: Input-Validierung für alle Cookie-Parameter (domain, consentid, cachelogid, consents) in der API
  • XSS-Escaping in Fragmenten: Alle Datenbankausgaben in box.php, cookiedb.php und InlineConsent.php werden jetzt mit rex_escape() escaped
  • Cookie-Key Escaping: $_COOKIE Keys werden mit htmlspecialchars() escaped

5.0.5

Für REDAXO
^5.15
Veröffentlicht am
10.12.2025
Require / PHP
>=8.1, <9

SECURITY UPDATE - Dringend aktualisieren!

Diese Version behebt eine kritische Stored XSS-Schwachstelle, die von Telekom Security gemeldet wurde. Die Schwachstelle existierte seit der ersten Version des Addons und ermöglichte es Angreifern, über manipulierte Consent-Cookies bösartigen JavaScript-Code einzuschleusen.

Betroffene Versionen: Alle Versionen vor 5.0.5, 4.5.6 und 3.0.9

Empfehlung: Sofortiges Update auf die neueste Version Ihrer Major-Release-Linie.


Security Fixes

  • Stored XSS via Consent-Cookie behoben: Input-Validierung für alle Cookie-Parameter (domain, consentid, cachelogid, consents) in der API
  • XSS-Escaping in Fragmenten: Alle Datenbankausgaben in box.php, cookiedb.php und InlineConsent.php werden jetzt mit rex_escape() escaped
  • Cookie-Key Escaping: $_COOKIE Keys werden mit htmlspecialchars() escaped

Validierungsregeln (API)

Parameter Regex Beschreibung
domain /^[a-zA-Z0-9][a-zA-Z0-9.-]*[a-zA-Z0-9]$/ Nur gültige Hostname-Zeichen
consentid /^[a-f0-9.]+$/i uniqid-Format
cachelogid /^[a-zA-Z0-9._-]+$/ Alphanumerisch + Punkt/Bindestrich
consents[] /^[a-zA-Z0-9_-]+$/ Nur gültige Cookie-UIDs

Wichtig: Namespace-Änderung (seit 5.0.0)

Die Klassen haben jetzt einen Namespace bekommen: FriendsOfRedaxo\ConsentManager

Version 5.0.0 - Major Release

Breaking Changes

  • Cookie-Name geändert: Der Consent-Cookie heißt jetzt consentmanager statt consent_manager (ohne Unterstrich). Dies behebt Kompatibilitätsprobleme nach Updates und erzwingt eine Neubestätigung bei Benutzern, was DSGVO-konform bei größeren Änderungen empfohlen ist.
  • Legacy iwcc-Migration entfernt: Der Migrations-Code für das alte iwcc-Addon wurde entfernt. Wer noch vom uralten iwcc-Addon migrieren muss, sollte erst auf Version 4.x updaten.

Neue Features & Verbesserungen

  • Async Fetch API: Synchroner XMLHttpRequest durch asynchrone Fetch API ersetzt - verbessert Performance und beseitigt Browser-Warnungen
  • CSP-Kompatibilität: new Function() Validierung entfernt für strikte Content Security Policy Kompatibilität
  • Verbesserte Fehlerbehandlung: Detaillierte CSP/CORS-Fehlermeldungen mit Lösungshinweisen
  • URL Encoding: Parameter werden jetzt korrekt URL-encoded für bessere Sicherheit
  • Code-Optimierungen: Redundanter Code entfernt, Performance-Verbesserungen (68 Zeilen weniger)
  • Command log-delete: aktiviert und verfügbar (in package.yml registriert)
  • Cronjob ThumbnailCleanup: ab dieser Version aktiviert und verfügbar

Technische Änderungen

  • Namespace FriendsOfRedaxo\ConsentManager - Alle Klassen wurden in den neuen Namespace verschoben
  • Alte Klassennamen stehen weiterhin zur Verfügung (deprecated), siehe Namespace-Guide.md
  • Fragmente in fragments/ConsentManager/ verschoben
  • PHP ^8.1 und REDAXO ^5.15 erforderlich

Bugfixes 5.0.1 - 5.0.4

  • Installer-Update repariert: Die Cache-Klasse wird jetzt beim Update explizit geladen, da der Autoloader zu diesem Zeitpunkt noch nicht aktiv ist.
  • InlineConsent Platzhalter repariert: Die Methode Utility::has_consent() verwendete noch den alten Cookie-Namen consent_manager statt des neuen consentmanager.
  • Service-spezifische Platzhalter-Texte: Die Felder placeholder_text und placeholder_image aus dem Cookie/Service-Eintrag werden jetzt im Inline-Consent-Fragment korrekt verwendet.
  • Backend-Dokumentation: Hinweistexte für die Platzhalter-Felder im Cookie-Formular hinzugefügt.
  • Consent-Log repariert: Die API-Klasse ConsentManager und das Fragment cookiedb.php verwendeten noch den alten Cookie-Namen.
  • Fokus auf Dialog statt Button: Der initiale Fokus beim Öffnen des Consent-Dialogs liegt jetzt auf dem Dialog-Wrapper statt auf dem ersten Button (WCAG 2.1 konform).

Danksagung

Vielen Dank an Telekom Security für das verantwortungsvolle Melden der Sicherheitslücke und die professionelle Zusammenarbeit im Disclosure-Prozess.

Danke an @christophboecker für die großartige Unterstützung und Hilfe 🙏

5.0.4

Für REDAXO
^5.15
Veröffentlicht am
09.12.2025
Require / PHP
>=8.1, <9

Wichtig: Namespace-Änderung

Die Klassen haben jetzt einen Namespace bekommen: FriendsOfRedaxo\ConsentManager

Version 5.0.0 - Major Release

Breaking Changes

  • Cookie-Name geändert: Der Consent-Cookie heißt jetzt consentmanager statt consent_manager (ohne Unterstrich). Dies behebt Kompatibilitätsprobleme nach Updates und erzwingt eine Neubestätigung bei Benutzern, was DSGVO-konform bei größeren Änderungen empfohlen ist.
  • Legacy iwcc-Migration entfernt: Der Migrations-Code für das alte iwcc-Addon wurde entfernt. Wer noch vom uralten iwcc-Addon migrieren muss, sollte erst auf Version 4.x updaten.

Danke Schön

Danke an @christophboecker für die großartige Unterstützung und Hilfe 🙏

Neue Features & Verbesserungen

  • Async Fetch API: Synchroner XMLHttpRequest durch asynchrone Fetch API ersetzt - verbessert Performance und beseitigt Browser-Warnungen
  • CSP-Kompatibilität: new Function() Validierung entfernt für strikte Content Security Policy Kompatibilität
  • Verbesserte Fehlerbehandlung: Detaillierte CSP/CORS-Fehlermeldungen mit Lösungshinweisen
  • URL Encoding: Parameter werden jetzt korrekt URL-encoded für bessere Sicherheit
  • Code-Optimierungen: Redundanter Code entfernt, Performance-Verbesserungen (68 Zeilen weniger)
  • Command log-delete: aktiviert und verfügbar (in package.yml registriert)
  • Cronjob ThumbnailCleanup: ab dieser Version aktiviert und verfügbar

Technische Änderungen

  • Namespace FriendsOfRedaxo\ConsentManager - Alle Klassen wurden in den neuen Namespace verschoben
  • Alte Klassennamen stehen weiterhin zur Verfügung (deprecated), siehe Namespace-Guide.md
  • Fragmente in fragments/ConsentManager/ verschoben
  • PHP ^8.1 und REDAXO ^5.15 erforderlich

Bugfixes 5.0.1 - 5.0.4

  • Installer-Update repariert: Die Cache-Klasse wird jetzt beim Update explizit geladen, da der Autoloader zu diesem Zeitpunkt noch nicht aktiv ist.
  • InlineConsent Platzhalter repariert: Die Methode Utility::has_consent() verwendete noch den alten Cookie-Namen consent_manager statt des neuen consentmanager. Dadurch funktionierte die serverseitige Consent-Prüfung für Inline-Platzhalter nicht korrekt.
  • Service-spezifische Platzhalter-Texte: Die Felder placeholder_text und placeholder_image aus dem Cookie/Service-Eintrag werden jetzt im Inline-Consent-Fragment korrekt verwendet. Priorität: 1. Explizit übergebene Options, 2. Service-Daten aus DB, 3. Globaler Fallback aus Texte-Tabelle.
  • Backend-Dokumentation: Hinweistexte für die Platzhalter-Felder im Cookie-Formular hinzugefügt, die erklären dass diese nur für Inline-Consent relevant sind.
  • Consent-Log repariert: Die API-Klasse ConsentManager und das Fragment cookiedb.php verwendeten noch den alten Cookie-Namen consent_manager statt des neuen consentmanager. Dadurch wurden Consents nicht mehr in die Datenbank-Tabelle rex_consent_manager_consent_log geschrieben und die Consent-Historie wurde nicht angezeigt.
  • Fokus auf Dialog statt Button: Der initiale Fokus beim Öffnen des Consent-Dialogs liegt jetzt auf dem Dialog-Wrapper statt auf dem ersten Button. Dies verhindert, dass Nutzer unbewusst auf "Alle ablehnen" fokussiert werden und entspricht den WCAG 2.1 Richtlinien für modale Dialoge.

5.0.0-beta2

Für REDAXO
^5.15
Veröffentlicht am
02.12.2025
Require / PHP
>=8.1, <9

BC Changes:

  • Bitte Readme beachten. Aufgrund des Namespaces muss der Consent-Manager Code in de Templates oder an anderer Stelle angepasst werden
  • Das cookie wurde von consent_manager zu consentmanager umbenannt.

3.0.8

Für REDAXO
^5.8
Veröffentlicht am
16.08.2022
Require / PHP
>=7, <9

What's Changed

Full Changelog: https://github.com/FriendsOfREDAXO/consent_manager/compare/3.0.7...3.0.8