Eine Ergänzung zum Beitrag "Consent Tools und serverseitige Funktionen" in der DATENSCHUTZ PRAXIS des Weka Verlags.
Programmbeispiele
Die Beispiele sind für die serverseitige Programmiersprache PHP gegeben und können auf jede andere Programmiersprache dieser Art angewandte werden.
Abfrage des Einwilligungsstatus auf dem Server per Cookie
Grundprinzip:
- Nutzer erteilt Einwilligung oder Teileinwilligung oder keine Einwilligung in seinem Browser.
- Consent Tool speichert die Information über die Einwilligung im Cookie namens CONSENT (als Beispiel, der Cookie-Name ist abhängig von dem Consent-Tool, welches Sie einsetzen).
- Ihre Webseite lädt Dateien von Ihrem eigenen Web Server nach. Dies kann insbesondere erreicht werden, wenn die Seite automatisch neu geladen wird, sobald der Nutzer eine Einwilligung erteilt.
- Die nachgeladenen Dateien beinhaltet ein PHP-Programmstück, welches nachfolgend angegeben ist.
- Das PHP-Programmstück liest das Cookie namens CONSENT aus. Abhängig vom Wert (Einwilligung ja/nein) können weitere Dienste/Tools/Plugins nachgeladen werden.
Abfrage des Cookies namens CONSENT in PHP:
Das Cookie wird abgefragt. Ist aus dem Cookie-Wert erkennbar, dass eine Einwilligung vorliegt, wird ein einwilligungspflichtiges Plugin (Script) geladen (aktiviert), indem eine Ladeanweisung in den Kopfbereich des Quellcodes der Webseite, die aufgerufen wurde, geschrieben wird.
Der folgende Programmcode ist also an einer Stelle zu platzieren, die für die Ausgabe des HEAD-Bereichs verantwortlich ist.
//Dieses Programmstück ist (im Beispiel) mit verantwortlich für die Ausgabe des
//Kopfbereichs (HEAD) der Webseite.
//Wenn eine Einwiligung durch den Nutzer im Cookie namens "CONSENT" vorliegt,
//wird das u.g. Script nachgeladen, indem eine Ladeanweisung in den auszugebenden
//Quellcode geschrieben wird
$einwilligungsstatus = $_COOKIE["CONSENT"];
//Abfrage, ob Nachladen bestimmter (oder aller) einwilligungspflichtiger Plugins
//erlaubt ist
if($einwilligungsstatus == "all") {
//Tool in Quellcode verankern
echo "<script src='/path/to/tool/tool-name.js'></script>";
}
Übergabe eines URL-Parameters: Client an Server
Ein anderer Weg ist die Übergabe eines URL-Parameters vom Client (Browser) an den Server (PHP o.ä.).
Dies bietet sich insbesondere an, wenn auf dem Client eine Javascript-Logik existiert, die den eigenen Server aufruft.
Die Schritte sind:
- Nutzer erteilt im Consent Tool seine Einwilligung (oder auch nicht) .
- Die Einwilligung wird im Cookie namens CONSENT gespeichert.
- Eine Client-seitige JavaScript-Funktion wertet die Einwilligungsinformation im Cookie namens CONSENT aus.
- Die JavaScript-Funktion ruft eine Funktion (= Adresse = URL) auf dem eigenen Server auf.
- Dabei übergibt die JavaScript-Funktion den Wert des Cookies über einen URL Parameter namens CNS (der Parametername ist beliebig), der den Wert des Cookies namens CONSENT enthält.
Beispielprogramm auf dem Client in JavaScript:
//Hilfsfunktion um ein bestimmtes Cookie auszulesen
function getCookie(cookieName) {
let cookie = {};
document.cookie.split(';').forEach(function(el) {
let [key,value] = el.split('=');
cookie[key.trim()] = value;
})
return cookie[cookieName];
}
//Cookie auslesen
var cns=getCookie("CONSENT");
//Server-Aufruf mit Übergabe Cookie-Wert als Parameter
//Der Server-Aufruf existiert schon in Ihrem Code (ansonsten sind Sie in diesem
//Beispiel falsch)!
//Beispielhaft angegeben ist ein AJAX-Aufruf mit jQuery
$.ajax({
url: 'serverfunktion.php',
type: 'POST',
data : {parameter1 : 'wert1',cns: cns},
success: function(response){
// Erfolg
},
error: function(error){
//Fehler, Ausgabe in Konsole des Browsers
console.log(error)
}
});
Auf dem Server existiert dazu korrespondierend eine Datei namens serverfunktion.php. Diese Datei liest den übergebenen Parameter namens cns nun aus. Abhängig vom Wert dieses Parameters werden einwilligungspflichtige Plugins aktiviert.
$einwilligungsstatus = filter_input(INPUT_POST, 'cns');
//Abfrage, ob Nachladen bestimmter (oder aller) einwilligungspflichtiger Plugins
//erlaubt ist
if($einwilligungsstatus == "all") {
//Tool in Quellcode verankern
echo "<script src='/path/to/tool/tool-name.js'></script>";
}
Bei Fragen oder Anmerkungen bitte melden.

gekennzeichnet.