Referrer-Policy für Astro konfigurieren

Schritt-für-Schritt-Anleitung: Referrer-Informationen per Middleware kontrollieren -- sensible URL-Parameter vor Drittanbietern schützen.

Astro · Schritt für Schritt

Referrer-Policy in Astro

Referrer-Policy kontrolliert, welche Referrer-Informationen der Browser bei Navigation und Ressourcen-Anfragen mitsendet. Ohne diesen Header senden Browser die volle URL inklusive Query-Parameter an Drittanbieter -- ein Datenschutzrisiko. Der Header ist mit 10 von 166 Punkten im Wolf-Agents Web Security Check relevant.

Die empfohlene Einstellung ist strict-origin-when-cross-origin: Bei Cross-Origin-Anfragen wird nur die Herkunft (Domain) gesendet, bei Same-Origin die volle URL. Für maximalen Datenschutz wählen Sie no-referrer. Wolf-Agents setzt strict-origin-when-cross-origin per Middleware.

Besonders relevant bei Astro: Wenn Dashboard-URLs Query-Parameter wie ?token=abc123 enthalten, könnte der Browser diese bei Klick auf externe Links an Drittanbieter weitergeben. Referrer-Policy verhindert diesen unbeabsichtigten Datenverlust zuverlässig.

1Schritt 1 von 5

Referrer-Policy per Middleware (SSR)

Setzen Sie den Header in src/middleware.ts. Die Middleware laeuft bei jedem SSR-Request und setzt den Header konsistent für alle Seiten. Für sensible Bereiche wie das Dashboard können Sie no-referrer verwenden, für öffentliche Seiten strict-origin-when-cross-origin.

src/middleware.tsSSR
// src/middleware.ts -- Referrer-Policy (SSR)
import { defineMiddleware } from 'astro:middleware';

export const onRequest = defineMiddleware(async (context, next) => {
  const response = await next();

  // Empfohlen: Herkunft bei Cross-Origin, volle URL bei Same-Origin
  response.headers.set('Referrer-Policy',
    'strict-origin-when-cross-origin');

  return response;
});
src/middleware.tsDifferenziert
// src/middleware.ts -- Maximaler Datenschutz
import { defineMiddleware } from 'astro:middleware';

export const onRequest = defineMiddleware(async (context, next) => {
  const response = await next();
  const url = new URL(context.request.url);

  // Sensible Bereiche: kein Referrer an Drittanbieter
  if (url.pathname.startsWith('/dashboard')) {
    response.headers.set('Referrer-Policy', 'no-referrer');
  } else {
    response.headers.set('Referrer-Policy',
      'strict-origin-when-cross-origin');
  }

  return response;
});
2Schritt 2 von 5

SSG-Hosting-Varianten

Für statische Deployments konfigurieren Sie Referrer-Policy auf dem Webserver oder der Hosting-Plattform. Bei SSG-Output greift die Middleware nicht -- der Header muss auf dem Webserver gesetzt werden.

nginx.confNginx
# Nginx -- Referrer-Policy (SSG)
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

# Alternative: Kein Referrer an Drittanbieter
# add_header Referrer-Policy "no-referrer" always;
vercel.jsonVercel
// vercel.json -- Referrer-Policy
{
  "headers": [{
    "source": "/(.*)",
    "headers": [{
      "key": "Referrer-Policy",
      "value": "strict-origin-when-cross-origin"
    }]
  }]
}
public/_headersNetlify
# public/_headers -- Netlify/Cloudflare Pages
/*
  Referrer-Policy: strict-origin-when-cross-origin
3Schritt 3 von 5

Werte vergleichen

strict-origin-when-cross-origin ist der beste Kompromiss: Analytics-Tools erhalten die Herkunft, aber keine vollständigen URLs. no-referrer bietet maximalen Datenschutz, kann aber Analytics und Affiliate-Links beeinträchtigen. same-origin sendet den Referrer nur bei internen Links -- ebenfalls eine gute Wahl für sensible Anwendungen.

VergleichReferenz
# strict-origin-when-cross-origin (Empfohlen)
# Cross-Origin: nur Origin (https://ihre-domain.de)
# Same-Origin:  volle URL (/dashboard/domains?page=2)

# no-referrer (Maximaler Datenschutz)
# Cross-Origin: kein Referrer
# Same-Origin:  kein Referrer

# same-origin (Guter Kompromiss)
# Cross-Origin: kein Referrer
# Same-Origin:  volle URL
4Schritt 4 von 5

Verifizieren

Prüfen Sie den Referrer-Policy-Header im Production-Build und testen Sie das Referrer-Verhalten in der Browser-Console.

TerminalVerifizieren
# Referrer-Policy prüfen
curl -sI https://ihre-domain.de | grep -i referrer-policy
# Referrer-Policy: strict-origin-when-cross-origin

# Browser-Console: Referrer bei Cross-Origin prüfen
# document.referrer nach Klick auf externen Link

Häufige Fehler bei Referrer-Policy in Astro

no-referrer bricht Analytics

no-referrer sendet keinen Referrer -- Analytics-Tools können die Herkunft nicht zuordnen. Verwenden Sie strict-origin-when-cross-origin als Kompromiss, der die Domain weitergibt, aber Query-Parameter schützt.

unsafe-url gesetzt

unsafe-url sendet immer die volle URL inklusive Query-Parameter an alle Ziele. Verwenden Sie niemals diesen Wert -- er gibt sensible Daten wie Session-Tokens oder Filter-Parameter an Drittanbieter weiter.

Meta-Tag überschreibt Header

Ein <meta name="referrer">-Tag im HTML kann den HTTP-Header überschreiben. Entfernen Sie Meta-Tags, wenn Sie den Header per Middleware setzen. In Astro-Layouts kann ein vergessenes Meta-Tag die Middleware-Konfiguration aufheben.

prerender-Seiten ohne Header

Prerenderte Seiten erhalten keine Middleware-Header. Setzen Sie Referrer-Policy auf dem Webserver, um auch statische Seiten im Hybrid-Modus abzudecken.

Compliance-Relevanz

Referrer-Policy schützt vor unbeabsichtigter Datenweitergabe und unterstützt DSGVO-konforme Webauftritte. Wenn URLs personenbezogene Daten enthalten (z.B. Email-Adressen in Query-Parametern), kann die Weitergabe an Drittanbieter gegen DSGVO Artikel 5 verstoßen. NIS2 fordert technische Maßnahmen zum Datenschutz. Der Wolf-Agents Web Security Check bewertet Referrer-Policy mit bis zu 10 Punkten.

Wie steht Ihre Domain bei Referrer-Policy?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.