Biztonság Szakszó

Referrer-Policy

Szerző: · 7 perc olvasás · Frissítve:
Referrer-Policy - Biztonság (szakszó) a tudástárban
Referrer-Policy - Biztonság | eClick GEO-audit tudástár

A Referrer-Policy egy HTTP-válaszfejléc, amely megszabja, mennyit lát a te oldalad címéből az a szerver, ahová a látogató továbbkattint vagy ahonnan az oldal erőforrást tölt be. Ez dönti el, hogy a böngésző a teljes URL-t, csak a domaint, vagy egyáltalán semmit küld a Referer fejlécben.

Hogyan működik

Minden kimenő kérésnél a böngésző megnézi az aktuális oldal irányelvét. A leggyakoribb értékek:

  • no-referrer: soha nem küld semmit.
  • same-origin: csak saját domainen belül küldi a teljes URL-t.
  • strict-origin: mindig csak a domaint küldi, HTTPS-ről HTTP-re semmit.
  • strict-origin-when-cross-origin: saját domainen belül teljes URL, kifelé csak a domain.
  • unsafe-url: mindig a teljes URL-t küldi, query stringgel együtt.

A fejléc mellett <meta name="referrer"> taggel és elem szintű referrerpolicy attribútummal is állítható. A szigorúbb beállítás nyer, ha több helyen is meg van adva.

Mi a modern alapértelmezés

A Chrome, a Firefox és az Edge évek óta strict-origin-when-cross-origin szerint viselkedik, ha nincs fejléc. Ez már önmagában védi a query stringet. A kifejezett beállítás mégis számít: régi webview-k, beágyazott böngészők és egyes proxyk máshogy viselkednek.

Hol lesz belőle valódi baj

Az unsafe-url a legveszélyesebb érték. Ilyenkor a jelszó-visszaállító linkek, egyszer használatos tokenek és belső kereső-lekérdezések átszivárognak idegen szerverekhez. A másik irány is fáj: a no-referrer megvágja a mérésedet, mert a hivatkozó forrás eltűnik.

Mit néz ebből a riport

Az audit megnézi, visszaad-e a szerver Referrer-Policy fejlécet, és milyen értékkel. A no-referrer-when-downgrade és az unsafe-url figyelmeztetést kap, mert szükségtelenül sokat enged ki. A hiányzó fejléc enyhébb jelzés, mert a böngésző alapértelmezése ma már véd. Ez a biztonsági fejlécek blokk egyik tétele.

Röviden: a Referrer-Policy azt szabályozza, mennyit tud meg rólad egy idegen szerver abból, hogy a látogatód épp honnan érkezett.

Miért fontos

Adatszivárgás URL-en keresztül

Sok rendszer tesz érzékeny adatot az URL-be. Jelszó-visszaállító token, meghívó-link, e-mail-cím a query stringben, belső kereső-kifejezés. Ha a beállítás unsafe-url, ezek mind eljutnak minden beágyazott külső szerverhez. Egy hirdetési pixel vagy betűtípus-CDN elég hozzá.

Mérés és attribúció

A GA4 a Referer fejlécből olvassa ki a hivatkozó forrást. Ha no-referrer van beállítva a partneroldalon, a forgalom nálad Direct lesz. Fordítva is igaz: a te szigorú beállításod a partnereid riportjaiban tünteti el a forrásodat. Affiliate-programoknál ez konkrét pénz.

GDPR és átláthatóság

A teljes URL-ek kiküldése harmadik feleknek adattovábbítás. Ha ez zajlik, szerepelnie kell az adatvédelmi tájékoztatóban. A szigorúbb irányelv egyszerűbb megfelelőséget jelent, mert kevesebb adat hagyja el az oldalt.

SEO és AI

A rangsorolásra nincs közvetlen hatása, és az AI-crawlerek sem foglalkoznak vele. A biztonsági higiénia része, amit auditok és beszállítói kérdőívek rendszeresen kérnek.

Kikre vonatkozik

  • Minden HTTPS-oldal: a fejléc bármilyen tartalomtípusnál értelmezhető.
  • Webshopok: kiemelten, mert a kosár- és pénztár-oldalak URL-jeiben gyakran van azonosító.
  • Fiókos rendszerek: ahol token vagy meghívó-kód kerül az URL-be, ott kötelező olvasmány.
  • Portálok, hírek: itt a szigorú beállítás elveszi a partnerek méréséhez szükséges adatot, ezért érdemes egyeztetni.

Kevésbé kritikus egy statikus bemutatkozó oldalon, ahol nincs query string és nincs bejelentkezés. Staging és fejlesztői környezet esetén a no-referrer a legbiztonságosabb, mert a belső URL-struktúra sem szivárog ki. A fejléc nem helyettesíti a Content-Security-Policy vagy a HSTS beállítását.

Hogyan ellenőrzöd

  1. Nyisd meg a böngésző devtoolsát, Network fül, kattints a fő HTML-dokumentumra.
  2. A Response Headers alatt keresd a Referrer-Policy sort.
  3. Parancssorból gyorsabb: curl -sI https://pelda.hu | grep -i referrer.
  4. Nézd meg a HTML <head> részét is: ott lehet <meta name="referrer">, ami felülírja vagy kiegészíti a fejlécet.
  5. Ellenőrizd a gyakorlatban: kattints egy külső linkre, és a cél oldal kérésénél nézd meg a Referer értéket.
  6. Fejléc-ellenőrző szolgáltatások (például securityheaders.com) egy lépésben kiírják az összes biztonsági fejlécet.

Jó jel:

  • Referrer-Policy: strict-origin-when-cross-origin vagy strict-origin.
  • Bejelentkezés utáni felületen same-origin vagy no-referrer.
  • A fejléc minden oldalon egységesen jelen van, nem csak a főlapon.

Rossz jel:

  • unsafe-url bárhol az oldalon.
  • no-referrer-when-downgrade, ami HTTP-célnál is átadja a teljes URL-t.
  • Két helyen két különböző érték, fejlécben és meta tagben.
  • Token vagy e-mail-cím az URL-ben, mellé engedékeny irányelv.

Hogyan javítod

WordPress

  1. A legtisztább út a szerver: Apache alatt .htaccess, nginx alatt a site-konfiguráció.
  2. Ha nincs szerver-hozzáférésed, egy fejléc-kezelő biztonsági bővítmény is megteszi.
  3. Kódból: a send_headers hook-ban add hozzá a header() hívást a gyerek-sablon functions.php fájljában.
  4. Ürítsd a cache-t, majd curl -I paranccsal ellenőrizd.

Shopify

A Shopify alapból strict-origin-when-cross-origin értéket küld, és a fejlécet nem tudod átírni. Ha szigorítanál, a sablon theme.liquid fájljába tegyél <meta name="referrer" content="same-origin"> sort. Vedd figyelembe, hogy ez az appok méréseit is érinti.

Unas

A fejléceket a rendszer kezeli, közvetlen szerkesztés nincs. Amit tehetsz: a saját HTML-beszúrási mezőben helyezz el meta referrer taget. Egyedi domain és külső proxy esetén ott is beállítható.

Shoprenter

Sablon szinten a <head> tartalmába illeszthetsz meta referrer taget. Szerveroldali fejléc-módosításhoz nyiss ügyfélszolgálati jegyet. Előtte nézd meg, mit küld most a rendszer, mert lehet, hogy már rendben van.

Egyedi fejlesztés

  1. Állítsd be a fejlécet a reverse proxyn vagy a CDN szintjén, hogy minden válaszra érvényes legyen.
  2. Alapértéknek válaszd a strict-origin-when-cross-origin értéket.
  3. Bejelentkezés utáni és fizetési útvonalakon lépj same-origin értékre.
  4. Egyedi linknél felülírhatod: <a href="..." rel="noreferrer">.
  5. Tedd be a beállítást a regressziós tesztek közé, hogy egy deploy ne vegye vissza.

Gyakori hibák

  • unsafe-url beállítás a jobb mérés reményében: minden token és belső keresés kiszivárog a beágyazott külső szolgáltatókhoz.
  • no-referrer globálisan: a partnerek és az affiliate-rendszerek nem látják a forgalmad forrását, a saját mérésed is torzul.
  • Fejléc és meta tag ütközése: két különböző érték él egymás mellett, és nehéz kideríteni, melyik hat.
  • Csak a főoldalon van beállítva: a riportokban ezt látjuk a leggyakrabban, mert egy plugin csak bizonyos sablonokra teszi rá.
  • Érzékeny adat marad az URL-ben: a fejléc csak csökkenti a kockázatot, a token helye nem a query string.
  • Beállítás után nincs ellenőrzés: a cache vagy a CDN felülírja a fejlécet, és senki nem veszi észre.
  • A fejléc önmagában biztonsági megoldásnak számít: a magyar KKV-oldalak többségén ez az egyetlen beállított fejléc, X-Content-Type-Options és Permissions-Policy nélkül.

Technikai példa

Ajánlott alapbeállítás a szerveren. Apache:

<IfModule mod_headers.c>
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

Nginx:

add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Ellenőrzés és sablon szintű megoldás, ha nincs szerver-hozzáférésed:

curl -sI https://pelda.hu | grep -i "referrer-policy"
# Referrer-Policy: strict-origin-when-cross-origin
<head>
  <meta name="referrer" content="strict-origin-when-cross-origin">
</head>

<!-- Egyetlen linknél szigorítás: -->
<a href="https://kulso-partner.hu" rel="noreferrer">Partner oldala</a>

A strict-origin-when-cross-origin azt jelenti, hogy saját domainen belül teljes URL megy át, kifelé csak a https://pelda.hu/ rész, HTTPS-ről HTTP-re pedig semmi.

Gyakori kérdések

Ha nincs beállítva a fejléc, akkor baj van?
Nem feltétlenül. A modern böngészők alapértelmezése a strict-origin-when-cross-origin, ami már véd. A kifejezett beállítás mégis ajánlott, mert régi webview-k és beágyazott böngészők másképp viselkedhetnek. Auditokon is elvárás, hogy a fejléc látható legyen.
Elrontja a Google Analytics mérést a szigorú beállítás?
A saját oldalad mérését nem. A GA4 a domain szintű hivatkozót továbbra is megkapja strict-origin-when-cross-origin mellett. Csak a no-referrer okoz valódi veszteséget, mert akkor a forrás teljesen eltűnik, és Direct forgalomként jelenik meg.
Melyik erősebb, a HTTP-fejléc vagy a meta tag?
Az elem szintű referrerpolicy attribútum a legerősebb az adott linkre. Utána a meta tag jön, végül a HTTP-fejléc. Legjobb, ha csak egy helyen állítod be globálisan, és linkszinten írod felül, ahol tényleg indokolt.
Miért nem elég a rel="noreferrer" a linkeken?
Mert az csak azokra a linkekre hat, ahová kiteszed. Az oldalba ágyazott képek, szkriptek, betűtípusok és iframe-ek kérései nem esnek alá. A fejléc minden kimenő kérésre érvényes, ezért az az alapvédelem.
Befolyásolja a SEO-t vagy az AI-válaszokat?
Közvetlenül nem. A Googlebot és az AI-crawlerek nem rangsorolnak Referrer-Policy alapján. Közvetve számít: a biztonsági fejlécek megléte a technikai gondosság jele, és az adatvédelmi kockázatot érdemben csökkenti.

Források

Kapcsolódó fogalmak

A te oldaladon hogy áll a(z) „Referrer-Policy”?

Futtass egy SEO-auditot: pontszám, fejlesztői ítélet, a leggyorsabb javítások, és minden tételhez bizonyíték.

Ingyenes SEO-audit indítása