Wenn ich Cookies mit JavaScript lösche, entspricht dies weiterhin dem EU-ICO-Cookie-Gesetz?

8

Die Herausforderung bestand darin, ein Widget für andere Websites zu erstellen, das eine Website mit dem Cookie-Gesetz kompatibel macht [1].

Kann ich dies tun, ohne den Servercode zu ändern?

Ich meine, wenn es auf der Serverseite Code gibt, der ein Affiliate-Cookie in die Antwort schreibt und mein JavaScript-Widget es nach dem Ereignis window.load löscht: Wird die Site weiterhin dem Cookie-Gesetz entsprechen?

Dann kommen die Cookies von Google Analytics und Share Buttons. Wie würde ich verhindern, dass diese Skripte und Iframes in JavaScript ausgeführt werden?

[1] Büro des Informationskommissars (ICO): Neues ICO-Cookie-Gesetz

Fabio Milheiro
quelle
2
Können Sie erklären, wovon Sie ausgehen cookie law?
bbaja42
Wahrscheinlich handelt es sich um eine EU-Richtlinie (deren Identität ich vergesse, und Vorsicht ist geboten, da Richtlinien durch Einbeziehung in das Recht der Mitgliedstaaten erlassen werden und in diesem Stadium eine erhebliche zusätzliche Komplexität hinzukommen kann).
Donal Fellows
1
Ich spreche von diesem: programmers.stackexchange.com/questions/78176/…
Fabio Milheiro

Antworten:

1

Ihre Lösung wird wahrscheinlich als Malware behandelt

Aus Ihrer Beschreibung geht hervor, dass Sie eine JavaScript-Bibliothek erstellen möchten, die eine Website auf ihren Seiten enthalten kann, um die Einhaltung des "Cookie-Gesetzes" zu gewährleisten.

Lassen Sie uns die technischen Probleme im Zusammenhang mit der tatsächlichen Umsetzung dieses Gesetzes in Bezug auf den Standort des Benutzers, des Clients (Remote-Sitzung?), Des Servers und des Eigentümers der auf dem Server ausgeführten Webanwendung umgehen. Lassen Sie uns weiter einschränken und nur die britischen Leitlinien zur EU-Richtlinie berücksichtigen.

Aus dem Büro des Informationskommissars :

Cookies oder ähnliche Geräte dürfen nur verwendet werden, wenn der Teilnehmer oder Benutzer des entsprechenden Endgeräts:

(a) klare und umfassende Informationen über die Zwecke der Speicherung oder des Zugriffs auf diese Informationen erhalten; und

(b) hat seine Zustimmung gegeben.

Dies bedeutet, dass Ihr Widget als Clearingstelle für diese Benutzereinwilligung fungieren muss. Wenn Sie keine Kontrolle über den Servercode haben, muss Ihre Software die vom Server ausgehenden Cookies blockieren, bis eine solche Zustimmung vorliegt. Dies bedeutet, dass Ihre Software Bibliotheken von Drittanbietern (Ihre Google Analytics- und Facebook-Likes usw.) stört.

Eine solche Störung, egal wie gut gemeint, kann die Benutzererfahrung sehr beeinträchtigen und von den Eigentümern der Bibliotheken von Drittanbietern äußerst ungünstig angesehen werden. Somit wird es als Malware behandelt.

Ich würde noch einmal darüber nachdenken, bevor ich diesen Weg gehe.

Gary Rowe
quelle
Danke @Gary Rowe. Ich bin damit einverstanden, dass wir kein Widget haben sollten, das einfach alles im Browser löscht, bis der Benutzer zustimmt, aber das bringt mich zu einem Punkt. Ich lade nur die Skripte, mit denen Cookies im Browser installiert werden, nachdem der Benutzer Cookies zugestimmt hat. ABER nachdem der Benutzer akzeptiert hat, kann er die Zustimmung entfernen. Was passiert dann? Das von mir erstellte Widget entfernt einige Google-Cookies. Würde dies auch in die Kategorie der Malware fallen?
Fabio Milheiro
1
@FabioMilheiro Die Schwierigkeit hierbei ist, dass Sie Software schreiben, die den Betrieb einer anderen Bibliothek aus einer seriösen Quelle sabotiert (im Gegensatz zu Antivirensoftware zum Beispiel). Dies ist ein ernstes Problem bei der technischen Umsetzung des geltenden Gesetzes (wer bestimmt, was seriös ist?). Ihre Lösung zum Entfernen dieser Cookies nach dem Entfernen der Einwilligung ist jedoch sinnvoll, da sie automatisiert, was ein sorgfältiger Benutzer manuell tun würde.
Gary Rowe
[Polemik] Ist das "Cookie-Gesetz" also eine Sabotage, weil es "Bibliotheken von Drittanbietern stört" und "die Benutzererfahrung sehr wahrscheinlich beeinträchtigt"? Bedeutet dies, dass 3D-Party-Cookies, die ohne Erlaubnis des Benutzers gesetzt werden, wichtiger sind als die Einhaltung des Gesetzes? [/ polemic] Technisch gesehen erlaubt die Browser-Sandbox nur das Löschen von Cookies aus derselben Domain, aus der das js geladen wird. Das Laden dieses js von www.somedomain.comkann also keine Cookies von facebookoder löschen google.
k3b
1

Beachten Sie, dass Ihr Skript möglicherweise unbrauchbar wird, wenn der Server beim Erstellen des Cookies das HttpOnly-Flag setzt.

http://en.wikipedia.org/wiki/HTTP_cookie#HttpOnly_cookie

Möglicherweise gibt es auch Probleme mit dem Ursprung der Domain beim Zugriff auf / bei der Bearbeitung von Cookies, die aus Sicherheitsgründen (XSS) von anderen Domains gesetzt wurden. Ich bin nicht zu 100% davon überzeugt, da ich bei Cookies selten Javascript verwende, um die Exposition gegenüber XSS zu minimieren.

Obwohl Ihr Konzept nach einer großartigen Idee klingt, schlage ich vor, diese möglichen Probleme weiter zu untersuchen, bevor Sie zu viel Zeit in dieses Projekt investieren.

Chetpot
quelle
1
Gern geschehen, Fabio. Das einzige, was ich mir vorstellen kann, das gegen diese möglichen Hindernisse resistent wäre, wäre eine Browser-Erweiterung. Obwohl aus Ihrem ursprünglichen Beitrag, scheint es, dass eine Browser-Erweiterung den Zweck zunichte machen könnte.
Chetpot