privacy

Estableix una Referrer-Policy estricta

MetricSpot comprova si hi ha una capçalera Referrer-Policy. Sense ella, cada clic cap a fora filtra la teva URL completa (tokens, PII i camins d'admin inclosos) a llocs de tercers.

Què comprova aquesta auditoria

Inspecciona les capçaleres de resposta cercant una directiva Referrer-Policy i verifica que el valor sigui una de les polítiques més segures: strict-origin-when-cross-origin (el default modern dels navegadors), strict-origin, same-origin, no-referrer o no-referrer-when-downgrade. La comprovació falla quan la capçalera no hi és o està establerta a una política que filtra (unsafe-url, origin-when-cross-origin sense strict-).

Per què importa

La capçalera de petició Referer (sí, mal escrita al RFC original i estem encallats amb això) diu a cada lloc on cliques d’on véns. Sense una política, el navegador envia la URL completa, incloent path, query string i fragment.

Això és un forat de privacitat més gran del que la gent es pensa.

  • Fuga de tokens. Enllaços de restabliment de contrasenya, URLs de magic-login, callbacks d’OAuth i URLs de “compartir amb aquest enllaç privat” porten secrets al path o al query. Cada recurs extern de la pàgina (analítica, fonts, scripts de tercers, imatges embegudes, enllaços externs) rep la URL completa com a Referer.
  • Fuga de PII. URLs com /usuaris/joan-pérez@example.com/perfil o /checkout?email=… filtren dades personals a xarxes publicitàries i eines d’analítica.
  • Descobriment de camins admin. Un clic des de /admin/users/42 cap a una imatge externa anuncia silenciosament l’existència de /admin/ a cada servei extern.
  • Exposició al RGPD. Enviar PII a una xarxa publicitària dels EUA sense consentiment és una infracció del RGPD independentment de la intenció. Una política de referrer estricta és una mitigació barata.

Els navegadors moderns (Chrome 85+, Firefox 87+, Safari 14+) envien strict-origin-when-cross-origin per defecte, però només quan la pàgina no retorna cap política. Els navegadors més antics i els casos extrems (orígens file://, navegacions http→http) encara filtren tret que estableixis una capçalera explícitament.

Com solucionar-ho

Tria una de les polítiques segures i estableix-la a les teves capçaleres de resposta:

PolíticaMateix origenCross-originCross-origin amb downgrade (https→http)
no-referrerresresres
same-originURL completaresres
strict-originnomés origennomés origenres
strict-origin-when-cross-origin (recomanada)URL completanomés origenres

strict-origin-when-cross-origin és el default modern: les teves navegacions internes obtenen URLs completes (útil per a analítica), els enllaços externs només reben l’origen (https://example.com/), i els downgrades a HTTP no envien res.

nginx:

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

Apache:

Header always set Referrer-Policy "strict-origin-when-cross-origin"

Caddy:

header Referrer-Policy "strict-origin-when-cross-origin"

Cloudflare, Rules → Transform Rules → Modify Response Header, posa-la globalment.

Next.js (next.config.js):

module.exports = {
  async headers() {
    return [{
      source: "/(.*)",
      headers: [
        { key: "Referrer-Policy", value: "strict-origin-when-cross-origin" },
      ],
    }];
  },
};

Express amb Helmet:

import helmet from "helmet";
app.use(helmet.referrerPolicy({ policy: "strict-origin-when-cross-origin" }));

Override per enllaç. Si un enllaç concret necessita un comportament de referrer diferent, fes servir l’atribut referrerpolicy a <a> o <img>:

<a href="https://partner.example.com/" referrerpolicy="no-referrer">Partner</a>

Audita’t:

curl -sI https://elteudomini.com/ | grep -i referrer-policy

Espera una sola línia amb la política triada. Si grep no retorna res, falta la capçalera.

Preguntes freqüents

Això trencarà la meva analítica?

No, sempre que la teva analítica sigui del mateix origen (corrent al teu domini) o auto-allotjada. Les eines d’analítica cross-origin que depenen de URLs de referrer completes (algunes eines d’atribució) poden veure menys dades amb strict-origin-when-cross-origin, però segueixen rebent l’origen, normalment prou per atribuir la visita.

Hauria de fer servir no-referrer per ser més segur?

no-referrer és el més segur però trenca molts fluxos legítims: les passarel·les de pagament sovint comproven el referrer per confirmar que un checkout s’ha originat en un comerç real; els proveïdors d’OAuth de vegades registren el referrer per a detecció de frau; l’analítica es trenca. strict-origin-when-cross-origin és el default correcte.

Això afecta el SEO?

No. Els motors de cerca no llegeixen la política de referrer. La capçalera només afecta els clics cap a fora i les càrregues de recursos. Pel que fa al SEO és neutre; pel que fa a la privacitat és una millora rellevant.

Fonts

Última actualització 2026-05-11