Hilfreiche Zeilen beim Seitenbau
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Einleitung
Datenschutzregeln können auf Webseiten nur zuverlässig eingehalten werden, wenn darauf explizit
geachtet wird. Das Einbinden eines sogenannten Consent Scripts mit der Erwartung, dass ein
Datenschutzwunder passiert, funktioniert nicht.
Beweis:
- Alle mir bekannten populären Consent Management Plattformen versagen in der Praxis. Selbst
große Unternehmen bekommen es nicht hin. Siehe Praxistest
- Sog. Cookie Blocker oder Cookie Scanner können generell nicht zuverlässig arbeiten
- Selbst Anbieter von Consent Tools, die ihr eigenes Consent Tool auf ihrer eigenen Webseite
einsetzen, weisen Webseiten mit erheblichen datenschutzrechtlichen Mängeln vor.
Praxistests mit beschämenden Ergebnissen für bekanntere Consent Anbieter finden Sie auf
meiner Webseite
- Ich hatte mehrfach 100 Euro ausgelobt für den Ersten, der mir eine Webseite mit Consent Tool
und mehreren eingesetzten Tools (Google etc.) zeigt, die DSGVO-konform ist. Es gab bisher
keinen Ersten.
Wer behauptet, Consent Tools müssten nur richtig konfiguriert werden, um DSGVO konform zu sein,
liegt nach meiner Erfahrung in 99,9% der Fälle falsch.
Mein Ansatz
• Sie ermitteln selbst, welche einwilligungspflichtigen Dienste auf Ihrer Webseite genutzt
werden. Unterstützend können Sie mein Online Tool hierfür verwenden.
• Wissen Sie nicht, ob ein Tool einer Einwilligung bedarf, gibt es zwei gute Möglichkeiten
o Einwilligung abfragen
o Tool nicht verwenden: wenn Sie nicht wissen, was Sie tun, lassen Sie es sein oder
fragen Sie jemanden, der es weiß
• Sie hinterlegen die Angaben zu allen einwilligungspflichtigen Tools selbst. Können Sie das
nicht, gibt es drei Möglichkeiten:
o Erklärungstext so gut, wie es Ihnen möglich ist, hinterlegen und sich des Restrisikos
bewusst sein
o Tool nicht verwenden (streichen oder Alternative)
o Jemanden fragen, der es weiß
• Ihnen ist somit bewusst, was Sie tun und vertrauen nicht blind einem Dritten, der ähnlich
wenig Ahnung hat wie viele andere
• Sie binden das Consent Script ein
Alternative
Vermeiden Sie „einfach“ alle Tools, die einer Einwilligungspflicht unterliegen. Hierzu finden Sie auf meiner Webseite zahlreiche Informationen.
Funktionsweise
Rufen Sie am besten zuerst die Demo auf (Datei demo.html). Dazu alle Dateien in ein Verzeichnis auf
dem Web Server kopieren. Schauen Sie dann in die Datei demo.html und in die Datei
drdsgvo_consent.def.
Einbinden des Consent Scripts auf jede Seite Ihrer Webseite. Dieses Script fragt den Anwender nach
einer Einwilligung. Sobald die Einwilligung erteilt wurde, wird ein Script Ihrer Wahl geladen, in dem Sie
andere Dienste nachladen können. Das Script wird wie folgt definiert:
<script data-src="website-script.js" id="drdsgvo_script"></script>
Im so angegebenen Script (hier: website-script.js) kann eine beliebige Logik eingebaut werden. Beispiel
zum Nachladen anderer Scripte/Tools:
var scriptabc = document.createElement('script');
scriptabc.src = "demo-script2.js";
document.head.appendChild(scriptabc);
Diese Logik lädt das Script demo-script2.js nach, welches testweise eine Ausgabe via Popup erzeugt.
Schauen Sie einfach in den Code der Scripte.
Demo: Alle Dateien in der gegebenen Verzeichnisstruktur in einen Ordner auf dem Web Server
kopieren und die Datei demo.html aufrufen.
In der Datei demo.html ist die Integration demonstriert. Für erteilte Einwilligungen wird der Zeitpunkt
der Erteilung sowie die IP-Adresse des Erteilenden gespeichert, um später im Zweifel einen Nachweis
über die Einwilligung erbringen zu können. Gespeichert wird nur die zuletzt erteilte Einwilligung. Falls
danach widerrufen wurde, wird zusätzlich zum Widerruf die vorige Einwilligung festgehalten. Die
Speicherung findet in der Datei user_consent_drdsgvo.json statt. Bitte im Betrieb prüfen, ob die Datei
nicht zu groß wird (falls doch, müssen wir den Mechanismus anpassen, was nachträglich möglich ist).
Ein Verschieben der Datei in einen Unterordner ist jederzeit möglich, weil die Datei nur im Nachweisfall
benötigt wird.
Vorgehensweise:
1. Entfernen Sie die Logiken, die einwilligungspflichtige Tools auf Ihrer Webseite einbinden und
sorgen Sie dafür, dass im Script website-script.js die Tools über deren Scripte eingebundenen
werden. Zur Info: Cookies werden von Scripten geladen und existieren nicht einfach so. Daher
müssen Scripte blockiert werden, nicht Cookies. Leider verstehen das selbst einige Anbieter
von sog. Cookie Tools nicht.
2. Anpassen des Consent Scripts: Hinterlegen von Beschreibungen zu (einwilligungspflichtigen)
eingesetzten Diensten inkl. Beschreibung und Lebensdauer der dabei verwendeten Cookies
3. Anpassen der Absicherung des Consent Backends: gültige Referrer für Aufruf des Scripts
hinterlegen
4. Optisches Gestalten des Popups nach Ihren Wünschen durch Anpassen der Datei
drdsgvo_consent.def, die HTML Code und Beschreibungen der Dienste enthält
5. Anpassen der Links auf Impressum und Datenschutzerklärung (siehe demo.html)
6. Einbinden des neuen Consent Scripts auf Ihre Webseite (siehe demo.html)
7. Speichern der mitgelieferten PHP-Datei consent-backend.php auf Ihrem Server. Die Datei
erzeugt im Verzeichnis, wo sie selbst liegt, eine Datei, in der die Einwilligungen von Nutzern
gespeichert werden. Bitte sorgen Sie für ausreichende Zugriffsrechte
8. Speichern der mitgelieferten Hilfsdateien auf Ihrem Server (Layoutdateien, JavaScript-
Hilfsbibliotheken): consent-script.js, Verzeichnisse js und css
9. Hinzufügen eines Links zum Aufruf des Widerrufs auf jeder Seite Ihrer Webseite (siehe
demo.html)
10. Aus der Datenschutzerklärung die Widerrufsmöglichkeit verlinken (siehe vorigen Punkt)
11. Pro eingesetztem Tool, das einer Einwilligung bedarf (Datei drdsgvo_consent.def):
a. Nennung Zweck des Tools
b. Nennung Anbieter (volle Firmierung + Land)
c. Nennung weiterer Datenempfänger, falls es diese gibt
d. Nennung Cookies
i. Name
ii. Lebensdauer
iii. Zweck
12. Zur Einwilligungsabfrage Hinweise in Ihrer Datenschutzerklärung angeben: Allgemeine
Beschreibung („Sie können zustimmen, dass Dienste auf unserer Webseite geladen werden,
die uns eine zielgerichtete Ansprache der Besucher unserer Webseite erlauben. Um Ihre
Entscheidung zu speichern, verwenden wir ein Cookie namens drdsgvo_consent und ein
Cookie namens drdsgvo_consent_id, über das wir Ihre Entscheidung nachweisen können.
Diese Cookies werden nur für diesen Zweck verwendet und haben jeweils eine Lebensdauer
von einem Jahr (ihre Entscheidung wird also max. für diese Dauer gemerkt)
13. Sicherstellen, dass die Datenschutzerklärung ohne Einwilligungsabfrage aufrufbar ist. Dort also
das Consent Script nicht einbinden und nichts tun, was einer Einwilligung bedarf
14. In der Datei consent-backend.php die Domäne Ihrer Webseite hinterlegen (Whitelisting)
15. Löschen Sie die Datei demo.html, wenn Sie fertig sind.
Siehe auch Checkliste für Einwilligungsabfragen für allgemein wichtige Punkte!
Generell gilt, dass Einwilligungsabfragen, vor allem bei Einsatz von Tools von weltweit tätigen
Internetkonzernen, rechtliche Unsicherheiten mit sich bringen. Siehe hierzu auch den Artikel Cookie
Popups: Fünf Gründe, warum sie nicht funktionieren können
Lizenz
Sie dürfen die Lösung auch kommerziell nutzen und abändern. Allerdings ist auf der
Einwilligungsabfrage oder zumindest in der Datenschutzerklärung der Webseite eine dofollow-
Verlinkung auf die Webseite https://dr-dsgvo.de mit einem Linktext wie „Mit freundlicher
Unterstützung von Dr. DSGVO“ vorzuhalten.
Eine Lösung von
Dr. DSGVO Digitaler Datenschutz
Web: dr-dsgvo.de
Newsletter: dr-dsgvo.de/newsletter
Haben Sie Fragen oder Anmerkungen?
Schreiben Sie mir über die auf meiner Webseite angebotene Möglichkeit.
Diese Lösung wird in der Praxis bereits erfolgreich eingesetzt. Die Auslieferung, die Sie hiermit
erhalten, ist allerdings im Frühstadium. Sollte etwas unklar sein oder nicht funktionieren, schreiben Sie
mir.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Installation: Datenschutzfreundliche interaktive Karte für Webseiten, Stand: 24.03.2021
interaktive_karte_1754380195_56102.zip
Installation
Download
Die Installationsdateien haben Sie anscheinend bereits erhalten. Falls Sie diese erneut abrufen
möchten: https://dr-dsgvo.de/interaktive-karte
Einspielen
Legen Sie die Installationsdateien auf Ihrem Server ab, wo sich Ihre Webseite befindet.
Dies kann beispielsweise mit einem FTP-Programm stattfinden.
Dazu kopieren Sie das Verzeichnis interaktive_karte in das Hauptverzeichnis Ihrer Webseite.
Das Ergebnis sieht dann beispielsweise so aus:
Achtung: Screenshot falsch: Verzeichnisname heißt interaktive_karte
Achten Sie darauf, dass in dem Verzeichnis interaktive_karte Schreibrechte vorhanden sind, so dass
das Karten-Script Dateien ablegen kann. Die abgelegten Dateien sind aus technischen Gründen
notwendig, um die Karte schnell aufzubauen und übermäßig viele Anfragen an andere Server zu
vermeiden.
Die Karte hat einen geringen Speicherbedarf.
Integrieren
Um die Karte auf einer Seite anzuzeigen, binden Sie folgenden Quellcode in Ihre Seite ein:
JavaScript-Datei
Binden Sie die JavaScript-Datei am besten im HEAD-Bereich der Webseite ein:
<script type="text/javascript"src="/interaktive_karte/karte.js">
</script>
Karte anzeigen
Fügen Sie folgenden Platzhalter für die Karte dort ein, wo die Karte erscheinen soll.
Installation: Datenschutzfreundliche interaktive Karte für Webseiten, Stand: 24.03.2021
<div tabindex="700" id="drdsgvo_map" class="drdsgvo_map"
style="height:100%;margin:0:padding:0"></div>
Wenn bisher Google Maps oder OpenStreetMap eingebunden war, können Sie diesen Platzhalter
dort einbauen, wo die bisherige Karte eingebunden wurde.
Passen Sie den Stil dieses Elements bei Bedarf an (Rahmen falls gewünscht, fixe Breite, Höhe, etc.).
Für die meisten Anwendungsfälle ist dieser Platzhalter ohne Änderung ausreichend.
Datenschutz-Text
Fügen Sie folgenden Text inkl. der angegebenen Verlinkung in die Datenschutzerklärung Ihrer
Webseite ein:
Interaktive Karte von Dr. DSGVO
Diese Webseite verwendet eine interaktive Karte von Dr. DSGVO. Die Karte wird lokal betrieben.
Diese Lösung ist datenschutzfreundlich. Beim Abruf und Betrieb der Karte werden keine
personenbezogenen Daten an Dritte weitergegeben. Weiterhin werden von uns für den Abruf und
Betrieb der Karte keine perDatenschutz-Text
sonenbezogenen Daten außer den technisch notwendigen erhoben. Die
Karte verwendet keine Cookies.
Funktionsweise
Die Karte läuft lokal auf Ihrem Server.
Es werden keine personenbezogenen Daten der Besucher Ihrer Webseite an Dritte gegeben.
Zum Abruf von Kartenmaterial wird der OpenStreetMap Server gerufen. Der Aufruf ist entkoppelt
vom Besuch eines Nutzers auf Ihrer Webseite (daher ist der Vorgang nicht DSGVO-relevant).
Weitere Datentransfers zu Dritten finden nicht statt.
Das Kartenmaterial wird lokal abgespeichert und benötigt wenig Speicherplatz. Die Datenabrufe
werden somit minimiert ("Caching").
Nach dem ersten Einbinden kann es vereinzelt vorkommen, dass die Karte unvollständig angezeigt
wird. Folgeaufrufe lösen das Problem, weil der Zwischenspeicher dann von vorigen Aufrufen gefüllt
ist.
Auf der Karte befindet sich ein Button namens „Vollbild“. Klickt der Nutzer hierauf, wird in einem
neuen Fenster die Webseite openstreetmap.org mit den Koordinaten des Standorts aufgerufen.
Dieser Aufruf ist ein ganz gewöhnlicher externer Link und datenschutzrechtlich nicht weiter zu
betrachten (weil technisch notwendig).
Lizenz
Die Karte darf nur für die beim Download angegebene Webseite eingebunden werden. Eine Nutzung
für andere Zwecke als die öffentliche Einbindung einer Karte ist nicht erlaubt. Die eingebundene
Karte muss den sichtbaren und mit dem Originaltext angegebenen Link auf den Bereitsteller dieser
Software enthalten. Weiterhin ist der oben angegebene Datenschutztext zu integrieren und ein
dofollow-Link auf https://dr-dsgvo.de auf den Text „interaktive Karte von Dr. DSGVO“ zu setzen.
Ein entgeltliches Bereitstellen der Karte ist nicht erlaubt. Die Karte darf Teil einer entgeltlichen
Webseite sein, aber im Rahmen dessen nicht gesondert oder extra in Rechnung gestellt werden.
Installation: Datenschutzfreundliche interaktive Karte für Webseiten, Stand: 24.03.2021
OpenLayers
Diese Software enthält OpenLayers. Die Lizenz von OpenLayers lautet:
BSD 2-Clause License
Copyright 2005-present, OpenLayers Contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice,
this list of conditions and the following disclaimer in the
documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Subprogramme von OpenLayers
Latitude/longitude spherical geodesy formulae taken from http://www.movable-
type.co.uk/scripts/latlong.html. Licensed under CC-BY-3.0.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Cookie- Code 2
<!-- Cookie Consent by TermsFeed https://www.TermsFeed.com -->
<script type="text/javascript" src="https://www.termsfeed.com/public/cookie-consent/4.1.0/cookie-consent.js" charset="UTF-8"></script>
<script type="text/javascript" charset="UTF-8">
document.addEventListener('DOMContentLoaded', function () {
cookieconsent.run({"notice_banner_type":"simple","consent_type":"express","palette":"dark","language":"de","page_load_consent_levels":["strictly-necessary"],"notice_banner_reject_button_hide":false,"preferences_center_close_button_hide":false,"page_refresh_confirmation_buttons":false,"website_name":"ihre_domain.de","website_privacy_policy_url":"https://ihre_domain.de/disclaimer.php"});
});
</script>
<noscript>Free cookie consent management tool by <a href="https://www.termsfeed.com/">TermsFeed</a></noscript>
<!-- End Cookie Consent by TermsFeed https://www.TermsFeed.com -->
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Upload per PHP
<?php
//In welches Verzeichnis soll die Datei hochgeladen werden?
$UPLOAD_DIR = "covers/";
echo "<b>Upload Beispiel mit PHP</b>";
//Überprüfen ob eine Datei angegeben wurde
if(empty($_FILES['datei'])) {
echo "Es wurde keine Datei angegeben.";
$error = true;
}
//Überprüfen ob die Datei nicht grösser als 2 Megabytes ist
if($_FILES['datei']['error'] == UPLOAD_ERR_INI_SIZE) {
echo "Die Datei ist zu gross.";
$error = true;
}
//falls die Überprüfung in Ordnung ist, Datei hochladen
if(!isset($error)) {
//Verschiebt die hochgeladene Datei in das gewünschte Verzeichnis
move_uploaded_file($_FILES['datei']['tmp_name'], $UPLOAD_DIR.$_FILES['datei']['name']);
echo "Die Datei konnte erfolgreich hochgeladen werden.";
}
?>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Cookie- Code