So langsam wird es wohl Zeit sich darum zu kümmern. Hab daher mal nachgelesen worum es eigtl. geht.
Dem Benutzer soll also klar gemacht werden, dass "wir" Cookies nutzen und auf seinem Speichermedium ablegen.
obwohl wir das ja nicht direkt können, sondern der Benutzer durch die von ihm genutzte Software das ablegen zulässt
Ich hatte einige "fertige" Scripte dazu gesehen.
Das Problem das ich damit hab ist, dass alle JS nutzen. Warum? So ein Quark. Hat der Nutzer kein JS laufen, dann wird er nicht informiert.
Ausserdem ist es via PHP (mMn) viel einfacher diese Zustimmung einzuholen / einzubauen.
Hier mal das PHP Script (erstmal ohne Text):
FILE: cookie_consent.php
<?php
// cookie settings
$c_name = 'cookie_consent';
if(isset($_COOKIE[$c_name ])and $_COOKIE[$c_name ] === 'y'){ unset($c_name ); return; }
$c_value = 'y';
$c_expire = time() + 3600 * 24 * 365; // now + sec * hours * days
$c_path = '/';
$c_domain = $_SERVER['SERVER_NAME'] === 'localhost' ? null : "." . $_SERVER['SERVER_NAME'];
$c_secure = (isset($_SERVER['HTTPS'])and !empty($_SERVER['HTTPS']));
$c_httponly = true;
// form settings
$f_button_name = 'consent';
$f_button_value = 'OK';
if(isset($_POST[$f_button_name])and $_POST[$f_button_name] === $f_button_value){
setcookie($c_name, $c_value, $c_expire, $c_path, $c_domain, $c_secure, $c_httponly);
header(
'Location: ' . $_SERVER['PHP_SELF'] . (
!empty($_SERVER['QUERY_STRING'])
? '?' . $_SERVER['QUERY_STRING']
: ''
)
);
exit(0);
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>toDo</title>
</head>
<body>
toDo
<form action="" method="POST" enctype="application/x-www-form-urlencoded">
ich akzeptiere: <input type="submit" name="<?php echo htmlspecialchars($f_button_name); ?>" value="<?php echo htmlspecialchars($f_button_value); ?>" />
</form>
</body>
</html>
<?php
exit(0);
?>
Alles anzeigen
Dieses File wird einfach in die vorhandene Seite eingebaut per:
// am anfang der index.php
require('cookie_consent.php');
// und hier dann der anfang deiner page ...
Der Ablauf ist simpel:
- wurde noch nie akzeptiert, dann zeige Formular an und verhindere den weitren Ablauf der Seite (exit())
- wurde Form abgesandt, dann erstelle Cookie und leite weiter zur URL (die, die eigtl aufgerufen wurde -- GET-Parameter bleiben also erhalten)
- wurde cookie gefunden (akzeptiert), dann sind wir sofort wieder aus der cookie_consent.php raus
Jetzt überlege ich nur noch, was alles an Text rein kann, soll, muss.
Evtl hab ich auch ein paar Fehler?
Jemand Lust mit zu machen?
Hier die cookie_consent.php mit dem momentanen Text:
<?php
// cookie settings
$c_name = 'cookie_consent';
if(isset($_COOKIE[$c_name ])and $_COOKIE[$c_name ] === 'y'){ unset($c_name ); return; }
$c_value = 'y';
$c_expire = time() + 3600 * 24 * 365; // now + sec * hours * days
$c_path = '/';
$c_domain = $_SERVER['SERVER_NAME'] === 'localhost' ? null : "." . $_SERVER['SERVER_NAME'];
$c_secure = (isset($_SERVER['HTTPS'])and !empty($_SERVER['HTTPS']));
$c_httponly = true;
// form settings
$f_button_name = 'consent';
$f_button_value = 'OK';
if(isset($_POST[$f_button_name])and $_POST[$f_button_name] === $f_button_value){
setcookie($c_name, $c_value, $c_expire, $c_path, $c_domain, $c_secure, $c_httponly);
header(
'Location: ' . $_SERVER['PHP_SELF'] . (
!empty($_SERVER['QUERY_STRING'])
? '?' . $_SERVER['QUERY_STRING']
: ''
)
);
exit(0);
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>toDo</title>
<style type="text/css">
body{
font-family: Georgia, serif;
}
q{
quotes: "«" "»";
font-style: italic;
color: #666;
}
blockquote{
color: #999;
}
</style>
</head>
<body>
<h1>Wir möchten Dein Einverständnis</h1>
<h2>Datenschutzrichtlinie für elektronische Kommunikation ("ePrivacy Directive")</h2>
<h2>"Cookie-Richtlinie" (EU)</h2>
<p>
Cookies erleichtern die Bereitstellung unserer Dienste.
Mit der Nutzung unserer Dienste erklärst Du Dich damit einverstanden, dass wir
und die von uns genutzten Dienstanbieter (siehe "Drittanbieter Cookies")
Cookies verwenden.
</p>
<form action="" method="POST" enctype="application/x-www-form-urlencoded">
ich akzeptiere: <input type="submit" name="<?php echo htmlspecialchars($f_button_name); ?>" value="<?php echo htmlspecialchars($f_button_value); ?>" />
</form>
<h3>Weitere Informationen</h3>
<blockquote cite="https://de.wikipedia.org/wiki/HTTP-Cookie">
<q>
Ein Cookie ([ˈkÊŠki]; englisch „Keks“) ist eine Textinformation,
die die besuchte Website (hier „Server“)
über den Browser im Rechner des Betrachters („Client“) platziert.
Der Cookie wird entweder vom Webserver an den Browser gesendet
oder von einem Skript (etwa JavaScript) in der Website erzeugt.
Der Client sendet die Cookie-Information bei späteren,
neuen Besuchen dieser Seite mit jeder Anforderung wieder an den Server.
</q>
<br>
Quelle und weitere Informationen:
<a target="_blank" href="https://de.wikipedia.org/wiki/HTTP-Cookie">https://de.wikipedia.org/wiki/HTTP-Cookie</a>
</blockquote>
<h4>Unsere Cookies</h4>
<p>
Wir verwenden in erster Linie so genannte "Session-Cookies".
Diese enthalten keine persönlichen Daten, sondern nur eine eindeutige Session-ID.
Diese ID verweist auf eine Session (Datei) auf unserem Server,
in der benötigte temporäre Werte abgelegt werden können.
Beipiele für temporäre Werte sind z.B. auf unseren Seiten zuvor gewählte Einstellungen.
<br>
Session-Cookies werden für gewöhnlich beim Verlassen der Seite vom Browser gelöscht
(<i>siehe Dokumentation des von Dir genutzten Browsers</i>).
</p>
<p>
Wie verwenden auch Cookies, die für eine bestimmte Zeit gültig sind, oder bis Du sie löschst.
Diese Cookies enthalten z.B. Werte zur Identifikation
und werden von uns u.a. für die Benutzeranmeldung (Login) genutzt.
</p>
<h4>Drittanbieter Cookies</h4>
<p>
Drittanbieter Cookies werden von den von uns genutzten Dienstanbietern gesetzt:
<br>
<ul>
<li>
<b>Google+</b> +1-Schaltfläche der Google Inc.
</li>
<li>
<b>Google Adsense</b> Werbeanzeigen der Google Inc.
</li>
<li>
<b>Google Analytics</b> Webanalysedienst der Google Inc.
</li>
</ul>
</p>
<h4>Cookies akzeptieren/ablehnen</h4>
<p>
Du entscheidest, ob Cookies akzeptiert oder abgelehnt werden.
<br>
Cookies werden an den von Dir genutzten Browser gesendet.
Ob Dein Browser Cookies speichert, hängt von dessen Einstellungen ab.
Die von uns und von uns genutzten Dienstanbietern gesendeten Cookies
können also nur auf Deinem Speichermedium abgelegt werden, wenn Du es zulässt.
Für gewöhnlich akzeptieren Browser Cookies stillschweigend durch deren Standardeinstellungen.
<br>
<blockquote cite="https://de.wikipedia.org/wiki/HTTP-Cookie">
<q>
Cookies werden ausschließlich vom Client verwaltet.
Somit entscheidet der Client, ob beispielsweise ein Cookie gespeichert
oder nach der vom Webserver gewünschten Lebensdauer wieder gelöscht wird.
<br>
[...]
<br>
Gängige Browser erlauben dem Nutzer,
den Umgang mit Cookies mehr oder weniger festzulegen,
<br>
[...]
<br>
</q>
<br>
Quelle "Funktionsweise":
<a target="_blank" href="https://de.wikipedia.org/wiki/HTTP-Cookie">https://de.wikipedia.org/wiki/HTTP-Cookie</a>
</blockquote>
<i>Wie Du Cookies ablehnst entnimmst Du bitte der Dokumentation des von Dir genutzten Browsers.</i>
</p>
<h4>Deaktivierung von Cookies</h4>
<p>
Für gewöhnlich kannst Du Cookies einsehen, verändern, löschen und blockieren.
Wo und wie entnimmst Du bitte der Dokumentation des von Dir genutzten Browsers
und/oder Browsererweiterungen.
</p>
<p>
Die Funktionalität dieser Website kann eingeschränkt sein,
wenn Du Cookies veränderst, deaktivierst, löschst oder blockierst.
</p>
</body>
</html>
<?php
exit(0);
?>
Alles anzeigen
Live test: http://www.cottton.net/index.php?para1=1¶2=2¶3=3
Files: html-seminar.de/woltlab/attachment/845/