Theoretisch geben Browser keine Referenzinformationen von HTTPS an HTTP-Sites weiter. Und meiner Erfahrung nach war dies immer wahr. Aber ich habe gerade eine Ausnahme gefunden und möchte verstehen, warum es funktioniert, damit ich es auch verwenden kann.
Suchen Sie unter https://www.google.ca/ nach "Was ist mein Referer?".
Beispiel: https://www.google.ca/search?q=what+is+my+referer
Es gibt einige Websites, auf denen Verweise angezeigt werden. Sie scheinen alle zu "arbeiten", wenn sie nicht sollten. Klicken Sie beispielsweise auf www.whatismyreferer.com. Ich bekomme:
Your referer:
https://www.google.ca/
Beachten Sie, dass ich manchmal, selten, als Ergebnis "kein Referer" erhalte. Gehen Sie zurück und klicken Sie erneut auf den Link, damit er beim nächsten Mal "funktioniert".
Das sollte nicht passieren. www.whatismyreferer.com ist eine Nicht-HTTPS-Site. Der Referer-Header sollte nicht übergeben werden, ist es aber.
Was ist hier los und wie kann ich dasselbe von meiner HTTPS-Site zu den HTTP-Sites machen, auf die ich verlinke?
quelle
Antworten:
Anscheinend liegt es an einem neuen
<meta>
Header, den Google verwendet:Spezifikation: https://w3c.github.io/webappsec-referrer-policy/
Es wird derzeit nur von wenigen Browsern vollständig unterstützt , ist also keine vollständige Lösung, aber sicherlich ein Anfang!
quelle
Dies ist das Standardverhalten.
https://tools.ietf.org/html/rfc2616#section-15.1.3 sagt
Clients DÜRFEN KEIN Referer-Header-Feld in eine (nicht sichere) HTTP-Anforderung aufnehmen, wenn die verweisende Seite mit einem sicheren Protokoll übertragen wurde.
Wenn Ihr Kunde dies tut, verstößt er gegen den Standard.
google ist der standard und sie können machen was sie wollen :-)
quelle
Dies scheint etwas zu sein, das das Javascript auf der Google-Seite tut. Ich sehe es nicht in Firefox mit aktiviertem Noscript und sehe es in Chrome unter Windows nicht mehr, wenn ich Javascript deaktiviere. Ich weiß nicht was genau, da ich nicht tiefer gegraben habe.
quelle
<meta>
Der Attributname des Etiketts enthält neue Verweisregeln. Der Verweis steuert den Inhalt des HTTP-Verweis-HTTP-Headers, der an alle von diesem Dokument gesendeten Anforderungen angehängt wird.Weitere Informationen finden Sie hier: RFC Referrer Policy
quelle
Wenn Sie auf den Link klicken, werden Sie von https://www.google .... zu http://www.google ... weitergeleitet. Anschließend werden Sie zu www.whatismyreferer.com weitergeleitet
Und wie Sie sagten, zwischen http-Website wird der Referer übertragen.
Sie können dies mit einer Firefox-Erweiterung überprüfen
quelle