it-swarm.com.de

Wie kann ich die Privatsphäre meiner Benutzer schützen, wenn Schaltflächen für soziale Netzwerke vorab abgerufen werden?

Ich erstelle eine Website mit Datenschutz als eines der Hauptthemen. Anschließend möchten wir die Privatsphäre der Besucher meiner Website schützen, indem wir Verstöße gegen die Privatsphäre minimieren. (In dieser verrückten Welt ist das das Beste, was wir tun können, minimieren). Wir müssen Social-Media-Schaltflächen (Absichtsschaltflächen wie Tweet Intent) hinzufügen, damit Besucher Artikel mit anderen teilen können. Es ist keine Option, diese Schaltflächen einfach nicht zu platzieren. Niemand bekehrt die Welt, indem er alles ignoriert, was nicht zu seinen Idealen passt. Wir brauchen einfach Möglichkeiten, um Artikel zu teilen. Aber wie kann ich die Auswirkungen des Hinzufügens von Social Media-Schaltflächen zu unserer Website minimieren?

Für die Symbole und Schriftarten verwenden wir nur selbst gehostete Quellen. Aber natürlich verweist die URL in dieser Freigabeschaltfläche auf die Domain einer Social Media-Plattform. Kann ich als Webmaster noch etwas tun, um das Vorauslesen der URL zu verhindern?

Natürlich trifft der Browser irgendwann die Entscheidung, ob er vorab holt oder nicht, aber wie kann ich diesen Browser nach besten Kräften entmutigen?

Eine Idee, die wir haben, besteht darin, alle Social-Media-Schaltflächen auf eine spezielle Seite innerhalb unserer eigenen Site zu verweisen, die dann von dort auf die externe Site umleitet. Die Idee wäre, dass die externe Site immer von der gleichen Seite aufgerufen wird und daher nicht von Besuchern vorab überprüft wird, die niemals den Share-Button gedrückt haben. Würde das tatsächlich helfen, oder holen Browser diese externe Seite trotzdem vor? Würde eine solche Umleitung erhebliche Nachteile haben?

Welche Möglichkeiten habe ich, um Besucher meiner Website vor Nachverfolgung zu schützen, ohne die Auswirkungen meiner Website wesentlich einzuschränken? (Vorausgesetzt, Prefetching ist das Hauptanliegen, wenn es um Tracking geht)

4
Static Storm

Die Buttons selbst müssen überhaupt nicht von der Social Site geladen werden. Mit Facebook und Twitter können Sie beispielsweise einfach ein Fenster mit einer speziellen URL öffnen, in dem ein Fenster "Neuer Beitrag" mit der bereits ausgefüllten URL Ihrer Seite angezeigt wird.

Für Facebook scheint die dokumentierte URL zu lauten:

https://www.facebook.com/dialog/share?app_id=<APPID>&display=popup&href=<URL>

oder der ältere

https://www.facebook.com/sharer/sharer.php?u=<URL>

Für Twitter können Sie Folgendes verwenden:

https://Twitter.com/intent/tweet?text=<URL_or_other_stuff>

Eine andere Methode, die ich an verschiedenen Stellen gesehen habe, die aber leider nicht sehr gut aussieht, besteht darin, den eigentlichen Code für soziale Schaltflächen auf Ihrer Seite aufzuschieben . Stattdessen erstellen Sie Ihre eigenen Schaltflächen, mit denen beim Klicken das Facebook-JavaScript in die Seite eingefügt wird (und die sich selbst entfernen, sodass sich die neue Schaltfläche an derselben Stelle befindet ).

4
grawity

Ich glaube nicht, dass das so passiert, wie du denkst ...

Ihrer Beschreibung zufolge erwarten Sie, dass Browser nur URLs folgen, um ganze Seiten vorab zu laden. Soweit ich weiß, ist dies jedoch weitaus expliziter ...

Der Artikel "Prefetching, Preloading, Prebrowsing" über CSS-Tricks trägt dazu bei, Ihre Vermutungen zu zerstreuen.

Die Wiki-Seite auf "Link Prefetching" sichert dies:

Das Prefetching erfolgt über Hinweise auf Webseiten

Wenn wir Browser hätten, die zufällig URLs folgen, würden alle möglichen Dinge zusammenbrechen. Die Schaltflächen für die Abstimmung nach oben/unten würden " geklickt ", die Ansichten auf anderen Seiten würden sich nur vergrößern von einem Benutzer, der sich eine andere Seite ansieht, etc ...

Denken Sie auch daran, dass die meisten davon ohnehin " Hinweise " sind und die Browser ihnen nicht folgen müssen .


Wenn Sie Bedenken haben, Ressourcen von einem anderen Server zu verwenden, lautet die einfache Antwort " nicht ".

Facebook/Twitter/Youtube/etc ... bietet einen Ausschnitt, den Sie in Ihre Seiten einfügen können, um " magisch " die Funktionalität zu erhalten ... Sie möchten dies vermeiden , wo möglich. Stellen Sie stattdessen bei expliziter Benutzerinteraktion eine Schnittstelle zu ihren öffentlichen APIs her (siehe Antwort von @ grawity).


DNS-Prefetching

Dies fordert den Browser auf, jetzt einen DNS-Eintrag abzufragen , um die Ladezeiten später zu verringern.

Es erfordert HTML im Abschnitt _<head>_:

_<link rel="dns-prefetch" href="//example.com">
_

Verbindung herstellen

Ermöglicht dem Browser, eine TCP -Verbindung herzustellen und die TLS-Aushandlung einsatzbereit abzuschließen (think HTTP/2 und mehrfach verwendbare Verbindungen/ ) + Pipelining ):

Es erfordert HTML im Abschnitt _<head>_:

_<link rel="preconnect" href="http://css-tricks.com">
_

Prefetching und Preloading

Ruft eine bestimmte Ressource ab, die einsatzbereit ist - wahrscheinlich im Cache des Browsers - und denkt, Bilder für eine Diashow usw. sind ein Muss . , während Prefetching ist ein Hinweis .

Sie benötigen HTML im Abschnitt _<head>_:

_<link rel="prefetch" href="image.png">
_
_<link rel="preload" href="image.png">
_

Vorrendern von Seiten

Lädt eine ganze Seite - zusammen mit allen Assets und Abhängigkeiten. Denken Sie an die " 20 Dinge, die Sie niemals von X erwarten würden" -Seitenfolge ...

Es erfordert HTML im Abschnitt _<head>_:

_<link rel="prerender" href="http://css-tricks.com">
_

Alle Browser sind unterschiedlich und werden ständig weiterentwickelt ...

DNS-Prefetch ist eine einfache Sache, bei der Ihre Absicht nicht an den Webserver weitergegeben wird, sondern der DNS-Server des Benutzers abgefragt wird. Wenn Sie also Bedenken haben, wird X-DNS-Prefetch-Control Header, den Sie identifiziert haben, kann nützlich sein. Vergessen Sie jedoch nicht, die - Browserkompatibilität - IE, Edge und Safari zu prüfen nicht schön spielen.

Chrome antizipiert die Absichten des Nutzers, wie in this great slide deck beschrieben.


Letztendlich ist die beste Option für den Datenschutz eine Browsererweiterung (die der Benutzer installieren müsste) - Sie können nicht viel tun, um die Aktionen des Browsers als Website einzuschränken.

2
Attie

Alternativ zu "Rolling Your Own" -Freigabeknöpfen können Sie die Shariff-Bibliothek verwenden. Das Ziel ist maximale Privatsphäre:

https://github.com/heiseonline/shariff

2
bjelli