Überprüfen Sie zuerst, wie unglaublich einfach es ist, einen Cloudflare Worker zu schreiben, um eine andere URL zu proxen
addEventListener("fetch", (event) => {
event.respondWith(
fetch("https://css-tricks.de")
);
});
Es enthält keine Fehlerbehandlung oder Ähnliches, aber hey, es funktioniert

Stellen Sie sich nun vor, wie einige Websites Ihnen eine URL zu JavaScript geben, um *etwas zu tun*. CodePen macht das für unsere Embedded Pens-Funktion.

Diese URL lautet
https://cpwebassets.codepen.io/assets/embed/ei.js
Ich kann diese URL genauso einfach proxen

Nichts Besonderes, es liefert sogar den richtigen content-type Header und alles

Cloudflare Workers gibt Ihnen eine URL dafür, was ziemlich nett ist, aber Sie können Ihrem Worker auch sehr einfach *auf Ihrer eigenen Website* eine Route hinzufügen. Hier erstelle ich also eine URL auf CSS-Tricks, um diesen Worker zu bedienen. Schauen Sie mal, es tut genau das, was es tun soll

Also könnte ich jetzt tun….
<script src="/super-real-url/codepen-embeds.js"></script>
Direkt von css-tricks.com und es wird dieses JavaScript laden. Für den Browser sieht es wie First-Party-JavaScript aus, aber es ist eigentlich proxied Drittanbieter-JavaScript.
Warum? Nun, niemand wird Ihr First-Party-JavaScript blockieren. Wenn Sie ein bisschen gerissen wären, könnten Sie Ihre gesamten Skripte für Anzeigen auf diese Weise ausführen, um Adblocker zu umgehen. Da habe ich gemischte Gefühle. Ich denke, wenn Sie Anzeigen blockieren wollen, sollten Sie in der Lage sein, Anzeigen zu blockieren, ohne bestimmte Skripte auf bestimmten Websites verfolgen zu müssen, um das zu tun. Andererseits scheint das Proxieren einiger Drittanbieter-Ressourcen manchmal ganz in Ordnung zu sein? Wenn es Ihre eigene Website ist und Sie nur ein CORS-Problem umgehen wollen... das wäre in Ordnung.
Mehr in der Mitte ist etwas wie Analysen. Ich habe kürzlich „Vergleich von Google Analytics und Plausible Numbers“ veröffentlicht, in dem ich Plausible diskutierte, einen Drittanbieter-Analysedienst, der „für datenschutzbewusste Websitebesitzer entwickelt wurde“. Also, theoretisch vertrauenswürdig und kein Drittanbieter-JavaScript, das besonders besorgniserregend ist. Aber dennoch tut es nichts, um den Website-Besuchern wirklich zu helfen, und fällt in die breite Kategorie der Analysen, daher könnte ich mir vorstellen, dass es auf Blocklisten landet, wodurch Sie im Laufe der Zeit weniger genaue Informationen erhalten, da immer mehr Leute es blockieren.

Aber wie wir besprochen haben, werden die wenigsten Leute First-Party-JavaScript blockieren, daher würde das Proxieren theoretisch genauere Informationen liefern. Tatsächlich haben sie Dokumente für das Proxieren. Es ist etwas aufwendiger, und es ist mir zu hoch, warum genau, aber hey, es funktioniert.
Ich habe dieses Proxieren als Test durchgeführt. Jetzt habe ich Daten aus der reinen Verwendung des Drittanbieter-JavaScript direkt (aus dem letzten Artikel)
| Metrik | Plausibel (Kein Proxy) | Google Analytics |
|---|---|---|
| Einzelne Besucher | 973.000 | 841.000 |
| Seitenaufrufe | 1,4 Mio. | 1,5 Mio. |
| Absprungrate | 82% | 82% |
| Besuchsdauer | 1m 31s | 1m 24s |
Und kann es mit einem zeitlich identischen Zeitraum mit dem Proxy vergleichen
| Metrik | Plausibel (Proxy) | Google Analytics |
|---|---|---|
| Einzelne Besucher | 1,32 Mio. | 895.000 |
| Seitenaufrufe | 2,03 Mio. | 1,7 Mio. |
| Absprungrate | 81% | 82% |
| Besuchsdauer | 1m 35s | 1m 24s |
Der Proxy deutet also stark darauf hin, dass die Vorgehensweise auf diese Weise weitaus weniger „blockiert“ wird als selbst das Out-of-the-Box-Plausible. Die getestete Woche war laut dem unveränderten Google Analytics 6 %¹ geschäftiger. Ich hätte mit 15,7 % mehr Einzelbesuchern in dieser Woche gerechnet, basierend auf dem, was bei der nicht-proxieden Einrichtung passiert ist (also 1,16 Mio.), aber stattdessen sah ich 1,32 Mio., sodass der Proxy eine solide Steigerung von 13,8 % bei den einzelnen Besuchern im Vergleich zu einer Nicht-Proxy-Einrichtung zeigt. Und ein direkter Vergleich des proxied Plausible-Setups mit Google Analytics zeigt erstaunliche 32 % mehr Einzelbesucher.
Mit der nicht-proxieden Einrichtung sah ich bei Plausible tatsächlich einen Rückgang der Seitenaufrufe (-6,6 %) im Vergleich zu Google Analytics, aber mit der proxieden Einrichtung sehe ich 19,4 % mehr Seitenaufrufe. Die Zahlen sind also ziemlich schwammig, aber sie deuten *für diese Website* auf eine Größenordnung von 20-30 % der Nutzer hin, die Google Analytics blockieren.
- Ich finde es immer so verwirrend, die prozentuale Steigerung zwischen zwei Zahlen zu ermitteln. Der Trick, der für mein Gehirn am besten funktioniert, ist
(final - initial) / final * 100.
Gibt es hier ethische Bedenken? Das Umgehen von Blockaden, von denen die Leute vielleicht erwarten, dass sie ihre Privatsphäre schützen… Wie wendet man dies unter Berücksichtigung dieser Bedenken an und ermöglicht eine Art Opt-in/out oder als Teil einer Datenschutzeinstellung?
Ein Same-Origin-Proxy für Anzeigen ist nicht nur gerissen, wie Sie es nannten. Es ist geradezu gefährlich, da Sie alle Cross-Origin-Schutzmaßnahmen umgehen werden. Bitte tun Sie das nie.
Während Anzeigen besonders anfällig für bösartigen Code sind, ist es wahrscheinlich am besten, dies generell zu vermeiden.
Ja, das ist keine gute Idee. Abgesehen von der offensichtlichen Gerissenheit, Anzeigen auf Ihrem Ursprung zu verstecken, ist dies ein XSS-Vektor, der nur darauf wartet, dass er passiert, mit vollem Zugriff auf Ihre lokalen JS-Daten und ohne CORS-Schutz.
Entschuldigung, aber wenn das Skript ein Drittanbieter-Skript ist, hätte es auch vollen Zugriff, oder?
Ich kann einige ziemlich nützliche Anwendungsfälle dafür in Entwicklungsumgebungen sehen. Aber in der Produktion ist es in der Tat sehr gerissen.
CORS existiert aus einem Grund, und das negiert es vollständig. Schreckliche Idee.
Tolle Ideen, eine bessere Nutzerverfolgung ist immer ein Pluspunkt, und während der Anzeigen-Teil ein Sicherheitsproblem sein kann, kann er minimiert werden, es hängt von der Website ab.
Angrenzend dazu bietet GA4 serverseitiges Tracking über den Google Tag Manager. Es ist einen Blick wert.
Ich glaube nicht, dass die Anzeigenverfolgung funktioniert, wenn sie proxied ist.
Ich habe Amazon Lambda verwendet, noch nicht diese Workers.
Schöner Artikel vielen Dank!
Ein verwandter Artikel, den ich gelesen habe, war dieser
https://web.dev/efficiently-load-third-party-javascript/
Insbesondere die letzten 2 Abschnitte.
Ich verstehe die Kommentare des Artikels bezüglich der Sicherheitsbedenken nicht.
Wer die Kommentare geschrieben hat, könnte mehr Details zur Sicherheit mit echten Beispielen geben.
Ich sehe keinen Unterschied zwischen First-Party- und Drittanbieter-Skripten in Bezug auf die Sicherheit