remsfal / remsfal-frontend

MIT License
4 stars 43 forks source link

Cookie-Banner mit Präferenzspeicherung im Browser #294

Open ElsarChabaev opened 11 hours ago

ElsarChabaev commented 11 hours ago

Description

Implementierung eines Cookie-Banners, das den Benutzer über die Verwendung von Cookies informiert und die Möglichkeit bietet, die Zustimmung für verschiedene Cookie-Kategorien zu erteilen (z. B. notwendige Cookies, funktionale Cookies, analytische Cookies). Die Benutzerpräferenzen sollen im Browser gespeichert werden, sodass sie bei zukünftigen Besuchen der Website automatisch berücksichtigt werden.

Discussion

No response

Motivation

Ein Cookie-Banner ist nicht nur eine rechtliche Anforderung (z. B. gemäß der DSGVO), sondern trägt auch zu einer besseren Benutzererfahrung bei, indem es den Benutzern Kontrolle über die Cookies gibt, die auf ihren Geräten gespeichert werden. Diese Implementierung sorgt dafür, dass die Präferenzen der Nutzer auf der Website persistent sind und bei zukünftigen Besuchen nicht erneut abgefragt werden müssen. Zudem wird durch das Speichern der Präferenzen im Browser vermieden, dass unnötig Daten gespeichert oder geladen werden, was die Performance verbessern kann.

Details

Anzeige des Cookie-Banners:

Das Banner wird beim ersten Besuch der Website angezeigt und informiert den Benutzer über die Verwendung von Cookies. Der Benutzer hat die Möglichkeit, entweder alle Cookies zu akzeptieren, nur notwendige Cookies zu erlauben oder eine detaillierte Auswahl an Cookie-Kategorien vorzunehmen. Speicherung der Präferenzen:

Nachdem der Benutzer eine Auswahl getroffen hat, werden diese Präferenzen im Browser gespeichert. Dies kann entweder durch Setzen eines Cookies oder durch Verwendung von localStorage erfolgen. Die gespeicherte Information könnte beispielsweise beinhalten, ob der Benutzer analytische Cookies oder Werbe-Cookies akzeptiert hat. Diese Präferenzen müssen persistent gespeichert werden, sodass sie auch nach einem erneuten Laden der Seite oder beim nächsten Besuch der Website verfügbar sind. Maximale Speicherdauer eines Cookies:

Die maximale Speicherdauer eines Cookies, das zur Speicherung der Benutzerpräferenzen verwendet wird, kann auf 12 Monate (1 Jahr) gesetzt werden, was eine übliche Praxis ist, um sicherzustellen, dass der Benutzer nicht jedes Mal bei einem Besuch gefragt wird. Nach Ablauf dieser Frist wird das Cookie automatisch gelöscht, und beim nächsten Besuch wird der Benutzer erneut gefragt. Die Ablaufzeit des Cookies wird beim Setzen definiert. Ein Cookie ohne Ablaufdatum würde nach dem Schließen des Browsers gelöscht werden (Session-Cookie), während ein Cookie mit Ablaufdatum auch über mehrere Sitzungen hinweg bestehen bleibt. Beispiel: Das Cookie könnte ein Ablaufdatum von 365 Tagen haben, was bedeutet, dass es nach einem Jahr automatisch gelöscht wird, sodass der Nutzer seine Präferenzen erneut festlegen kann. Prüfung der gespeicherten Präferenzen:

Bei jedem weiteren Besuch der Website wird das gespeicherte Cookie (oder die localStorage-Daten) überprüft, um die Auswahl des Benutzers abzurufen. Wenn bereits Präferenzen vorhanden sind, wird das Banner nicht erneut angezeigt. Falls der Benutzer seine Auswahl ändern möchte, kann er jederzeit auf eine „Einstellungen“-Schaltfläche klicken, um das Banner oder ein Modal zur Änderung der Cookie-Einstellungen anzuzeigen. Dynamisches Laden von Skripten und Cookies:

Die gespeicherten Präferenzen müssen verwendet werden, um dynamisch zu steuern, welche Cookies oder Skripte auf der Seite gesetzt oder geladen werden. Zum Beispiel wird Google Analytics oder andere Analyse-Tools nur geladen, wenn der Benutzer explizit analytische Cookies zugestimmt hat. Ebenso werden Werbe-Cookies nur gesetzt, wenn der Nutzer dies zugestimmt hat. Diese Logik stellt sicher, dass keine Cookies gesetzt werden, die der Benutzer abgelehnt hat. Wiederherstellung der Präferenzen:

Die Benutzerauswahl muss bei jedem Seitenaufruf oder nach einem erneuten Laden der Seite automatisch wiederhergestellt werden, sodass der Nutzer nicht jedes Mal seine Auswahl neu treffen muss.

ElsarChabaev commented 10 hours ago

Auch das könnte ich als KBE verwenden