Referrer-Policy: ką jūsų svetainė atskleidžia
Kaskart, kai lankytojas spusteli nuorodą iš jūsų svetainės, jo naršyklė gali paskirties svetainei tiksliai pasakyti, iš kurio jūsų puslapio jis atėjo — kartais įskaitant užklausos eilutes, pilnas jautrių duomenų. Referrer-Policy antraštė leidžia jums nuspręsti, kiek tos informacijos paliks jūsų svetainę.
Trumpai
Nustatykite Referrer-Policy: strict-origin-when-cross-origin. Ji siunčia pilną URL jūsų pačių svetainėje, tik grynąją kilmę kitoms HTTPS svetainėms ir nieko, kai pereinama į HTTP. Tai protingas privatumo numatytasis nustatymas ir būtent tai, ką dauguma modernių naršyklių jau naudoja, kai nesiunčiate nieko. Dabartinę reikšmę patikrinsite mūsų antraščių tikrinimu.
Ką atskleidžia Referer antraštė
Kai naršyklė seka nuorodą arba įkelia išteklių, ji paprastai siunčia Referer antraštę (istorinė rašybos klaida įtvirtinta standarte), įvardijančią puslapį, iš kurio kilo užklausa. Tai skamba nekenksmingai, tačiau URL dažnai neša daugiau nei tik kelią. Slaptažodžio atkūrimo nuoroda, paieškos užklausa, paskyros ID ar seanso raktas užklausos eilutėje — visa tai gali būti atskleista bet kuriai trečiajai šaliai, į kurią vartotojas nueina, ir kiekvienam toje paskirties svetainėje įterptam analitikos ar reklamos scenarijui.
Referrer-Policy antraštė tiksliai valdo, kiek URL (jei apskritai) įtraukiama į tą antraštę nuorodoms, paveikslėliams, scenarijams ir kitoms išeinančioms užklausoms.
Politikos reikšmės
| Reikšmė | Ką siunčia |
|---|---|
no-referrer | Nieko, niekada. Maksimalus privatumas, bet sugadina analitiką, kuri remiasi referrer duomenimis. |
same-origin | Pilną URL jūsų pačių svetainei, nieko jokiai kitai svetainei. |
strict-origin | Tik kilmę (schema + serveris) ir tik tada, kai saugumas nepažeminamas. |
strict-origin-when-cross-origin | Pilną URL jūsų svetainėje, tik kilmę kitoms svetainėms, nieko iš HTTPS į HTTP. |
no-referrer-when-downgrade | Pilną URL, išskyrus kai pereinama iš HTTPS į HTTP. Senasis numatytasis; atskleidžia daugiau. |
unsafe-url | Visada siunčia pilną URL visur. Venkite — pavadinimas yra įspėjimas. |
„Kilmė“ čia reiškia tik https://example.com be kelio ar užklausos — pakankamai, kad paskirtis žinotų, jog srautas atėjo iš jūsų, neatskleidžiant konkretaus puslapio ar jo parametrų.
Kodėl strict-origin-when-cross-origin yra protingas numatytasis nustatymas
Ši reikšmė pataiko į pusiausvyrą, kurios nori dauguma svetainių. Vidinė navigacija vis tiek gauna pilną URL, todėl jūsų pačių analitika ir santykinė logika toliau veikia. Nuorodos į kitas svetaines atskleidžia tik jūsų kilmę, todėl užklausos eilutės paslaptys niekada neperžengia ribos. O jei vartotojas pereina iš HTTPS puslapio į nesaugų HTTP, referrer išvis nesiunčiamas, taip užkertant kelią jautriems duomenims kirsti nešifruotą ryšį. Dabar tai numatytasis nustatymas, kurį daugelis naršyklių taiko net be antraštės, tačiau nustatę jį aiškiai užtikrinsite nuoseklų elgesį visur.
Antraštės nustatymas
Referrer-Policy: strict-origin-when-cross-origin
Apache serveryje pridėkite Header always set Referrer-Policy "strict-origin-when-cross-origin"; Nginx naudokite add_header Referrer-Policy "strict-origin-when-cross-origin" always;. Politiką taip pat galite perrašyti atskirai nuorodai su referrerpolicy atributu arba rel="noreferrer":
<a href="https://example.org" rel="noreferrer">Išorinė nuoroda</a>
Kur ji dera
Referrer-Policy yra mažos rizikos, greitas laimėjimas platesniame saugumo antraščių kontroliniame sąraše — skirtingai nei HSTS ar CSP, ji nesugadins jūsų svetainės, jei šiek tiek suklysite. Kai ją nustatysite, atlikite patikrą, kad įsitikintumėte, jog reikšmė siunčiama su kiekvienu atsaku.
Dažniausiai užduodami klausimai
Ar tai pakenks mano analitikai?
Ne su rekomenduojama reikšme. strict-origin-when-cross-origin vis tiek perduoda pilnus referrer duomenis jūsų pačių svetainėje ir kilmę kitoms, todėl dauguma analitikos sąrankų toliau veikia. Tik no-referrer visiškai pašalina duomenis.
Ar Referer tikrai parašyta su klaida?
Taip. HTTP antraštė nuo ankstyvojo interneto rašoma klaidingai „Referer“, ir rašyba niekada nebuvo pataisyta dėl suderinamumo. Naujesnė Referrer-Policy antraštė naudoja taisyklingą rašybą.
Kas nutinka, jei visai nenustatau antraštės?
Dauguma dabartinių naršyklių vis tiek grįžta prie strict-origin-when-cross-origin, tačiau senesnės gali atskleisti daugiau. Nustatę ją aiškiai, gausite nuoseklų, nuspėjamą elgesį.
Susiję vadovai
HTTP saugumo antraštės: pilnas kontrolinis sąrašas
Visos svarbios HTTP saugumo antraštės, nuo ko jos apsaugo ir paruošta pradinė konfigūracija.
Skaityti →HTTP saugumo antraštėsHSTS paaiškinimas: Strict-Transport-Security teisingai
Kaip HSTS priverčia naudoti HTTPS, ką reiškia „preload“ sąrašas ir kaip jį įdiegti neužsirakinant.
Skaityti →HTTP saugumo antraštėsTurinio saugumo politika (CSP) pradedantiesiems
Kaip CSP stabdo kenkėjiškus scenarijus (XSS), kodėl ją sunku suderinti ir saugus būdas įdiegti pirmąją politiką.
Skaityti →Patikrinkite savo svetainę pagal šį vadovą
Atlikite nemokamą ScanOpsPro patikrą ir pažiūrėkite, kaip jūsų svetainė tvarkosi su pagrindais.
Atlikti nemokamą patikrą