Voor we beginnen:
- Als je niet zeker weet wat het verschil is tussen "site" en "origin", bekijk dan "same-site" en "same-origin" begrijpen .
- In de
Referer
header ontbreekt een R vanwege een oorspronkelijke spelfout in de specificatie. DeReferrer-Policy
header enreferrer
in JavaScript en de DOM zijn correct gespeld.
Samenvatting
- Browsers evolueren naar een privacyverhogend standaardbeleid voor verwijzingen, om een goede terugval te bieden wanneer een website geen beleid heeft ingesteld.
- Chrome is van plan om in 1985 geleidelijk
strict-origin-when-cross-origin
als standaardbeleid in te stellen; dit kan van invloed zijn op gebruiksscenario's die vertrouwen op de verwijzende waarde van een andere oorsprong. - Dit is de nieuwe standaard, maar websites kunnen nog steeds een beleid naar keuze kiezen.
- Om de wijziging in Chrome uit te proberen, schakelt u de vlag in
chrome://flags/#reduced-referrer-granularity
. Je kunt ook deze demo bekijken om de verandering in actie te zien. - Naast het verwijzingsbeleid kan de manier waarop browsers omgaan met verwijzingen veranderen, dus houd dit in de gaten.
Wat verandert er en waarom?
HTTP-verzoeken kunnen de optionele Referer
header bevatten, die de oorsprong of webpagina-URL aangeeft waarvandaan het verzoek is gedaan. De Referer-Policy
header definieert welke gegevens beschikbaar worden gemaakt in de Referer
header en voor navigatie en iframes in het document.referrer
van de bestemming.
Welke informatie precies in de Referer
header wordt verzonden in een verzoek van uw site, wordt bepaald door de Referrer-Policy
header die u instelt.
Als er geen beleid is ingesteld, wordt de standaardinstelling van de browser gebruikt. Websites stellen vaak de standaardinstellingen van de browser in.
Voor navigatie en iframes zijn de gegevens in de Referer
header ook toegankelijk via JavaScript met behulp van document.referrer
.
Tot voor kort was no-referrer-when-downgrade
een wijdverbreid standaardbeleid in browsers. Maar nu bevinden veel browsers zich in een bepaalde fase van de overstap naar meer privacyverhogende standaardinstellingen .
Chrome is van plan om vanaf versie 85 het standaardbeleid te wijzigen van no-referrer-when-downgrade
naar strict-origin-when-cross-origin
.
Dit betekent dat als er geen beleid is ingesteld voor uw website, Chrome standaard strict-origin-when-cross-origin
gebruikt. Houd er rekening mee dat u nog steeds een beleid naar keuze kunt instellen; deze wijziging heeft alleen effect op websites waarvoor geen beleid is ingesteld.
Wat betekent deze verandering?
strict-origin-when-cross-origin
biedt meer privacy . Met dit beleid wordt alleen de oorsprong verzonden in de Referer
header van cross-origin-verzoeken.
Dit voorkomt het lekken van privégegevens die mogelijk toegankelijk zijn via andere delen van de volledige URL, zoals het pad en de queryreeks.
Bijvoorbeeld:
Cross-origin-verzoek, verzonden van https: //site-one.example/stuff/detail?tag=red naar https://site-two.example/…:
- Met
no-referrer-when-downgrade
: Verwijzer: https: //site-one.example/stuff/detail?tag=red . - Met
strict-origin-when-cross-origin
: verwijzing: https://site-one.example/.
Wat blijft hetzelfde?
- Net als
no-referrer-when-downgrade
strict-origin-when-cross-origin
veilig : er is geen referrer (Referer
header endocument.referrer
) aanwezig wanneer het verzoek wordt gedaan van een HTTPS-oorsprong (beveiligd) naar een HTTP-oorsprong ( onzeker). Op deze manier zullen, als uw website HTTPS gebruikt ( zo niet, maak er dan een prioriteit van ), de URL's van uw website niet lekken in niet-HTTPS-verzoeken, omdat iedereen op het netwerk deze kan zien, dus dit zou uw gebruikers blootstellen aan manipulatie -de-midden-aanvallen. - Binnen dezelfde oorsprong is de waarde van de
Referer
header de volledige URL.
Bijvoorbeeld: Verzoek van dezelfde oorsprong, verzonden van https://site-one.example/stuff/detail ?tag=red naar https://site-one.example/…:
- Met
strict-origin-when-cross-origin
: verwijzing: https: //site-one.example/stuff/detail?tag=red
Wat is de impact?
Op basis van discussies met andere browsers en Chrome's eigen experimenten in Chrome 84 wordt verwacht dat de voor de gebruiker zichtbare breuk beperkt zal zijn .
Logboeken of analyses aan de serverzijde die afhankelijk zijn van de beschikbaarheid van de volledige verwijzende URL, zullen waarschijnlijk worden beïnvloed door een verminderde granulariteit van die informatie.
Wat moet je doen?
Chrome is van plan het nieuwe standaard verwijzingsbeleid in 85 uit te rollen (juli 2020 voor bèta, augustus 2020 voor stabiel). Bekijk de status in het Chrome-statusitem .
Begrijp en detecteer de verandering
Om te begrijpen wat de nieuwe standaard in de praktijk verandert, kun je deze demo bekijken.
U kunt deze demo ook gebruiken om te detecteren welk beleid wordt toegepast op de Chrome-instantie die u gebruikt.
Test de wijziging en kijk of dit gevolgen heeft voor uw site
Je kunt de wijziging al uitproberen vanaf Chrome 81: ga naar chrome://flags/#reduced-referrer-granularity
in Chrome en schakel de vlag in. Als deze vlag is ingeschakeld, gebruiken alle websites zonder beleid de nieuwe standaard strict-origin-when-cross-origin
.
U kunt nu controleren hoe uw website en backend zich gedragen.
Een ander ding dat u kunt doen om impact te detecteren, is controleren of de codebase van uw website de referrer gebruikt, hetzij via de Referer
header van inkomende verzoeken op de server, hetzij vanuit document.referrer
in JavaScript.
Bepaalde functies op uw site werken mogelijk niet goed of gedragen zich anders als u de verwijzende verwijzing van verzoeken van een andere oorsprong naar uw site gebruikt (meer specifiek het pad en/of de queryreeks) EN deze oorsprong het standaard verwijzende beleid van de browser gebruikt (dat wil zeggen dat er geen beleid ingesteld).
Als dit van invloed is op uw site, overweeg dan alternatieven
Als u de verwijzer gebruikt om toegang te krijgen tot het volledige pad of de queryreeks voor verzoeken aan uw site, heeft u een aantal opties:
- Gebruik alternatieve technieken en headers zoals
Origin
enSec-fetch-Site
voor uw CSRF-beveiliging, logboekregistratie en andere gebruiksscenario's. Bekijk Verwijzer en Verwijzerbeleid: best practices . - U kunt met partners afstemmen op een specifiek beleid als dit nodig en transparant is voor uw gebruikers. Toegangscontrole (wanneer de verwijzer door websites wordt gebruikt om specifieke toegang tot hun bronnen tot andere bronnen te verlenen) zou zo'n geval kunnen zijn, hoewel met de wijziging van Chrome de oorsprong nog steeds wordt gedeeld in de
Referer
Header (en indocument.referrer
).
Merk op dat de meeste browsers zich in een vergelijkbare richting bewegen als het gaat om de verwijzer (zie browserstandaarden en hun evoluties in Verwijzer en Verwijzerbeleid: best practices .
Implementeer een expliciet, privacyverhogend beleid op uw hele site
Welke Referer
moet worden verzonden in verzoeken die afkomstig zijn van uw website, dwz welk beleid moet u instellen voor uw site?
Zelfs met de verandering van Chrome in gedachten is het een goed idee om nu al een expliciet, privacyverhogend beleid in te voeren, zoals strict-origin-when-cross-origin
of strenger.
Dit beschermt uw gebruikers en zorgt ervoor dat uw website zich voorspelbaarder gedraagt in verschillende browsers. Meestal geeft het u controle, in plaats van dat uw site afhankelijk is van de standaardinstellingen van de browser.
Controleer Verwijzer en Verwijzerbeleid: best practices voor details over het instellen van een beleid.
Over Chrome Enterprise
Het Chrome-bedrijfsbeleid ForceLegacyDefaultReferrerPolicy
is beschikbaar voor IT-beheerders die het vorige standaard verwijzende beleid van no-referrer-when-downgrade
willen afdwingen in bedrijfsomgevingen. Hierdoor krijgen bedrijven extra tijd om hun applicaties te testen en bij te werken.
Dit beleid wordt verwijderd in Chrome 88.
Stuur feedback
Heeft u feedback om te delen of iets te melden? Deel feedback over het voornemen van Chrome om , of tweet uw vragen op @maudnals .
Met veel dank voor bijdragen en feedback aan alle reviewers - vooral Kaustubha Govind, David Van Cleve, Mike West, Sam Dutton, Rowan Merewood, Jxck en Kayce Basques.