Meine Website ist 100% https. Ich habe Links zu anderen http-Domains. Der Referrer-Header wird nicht festgelegt, wenn eine Verknüpfung von einer https-Seite zu einer http-Seite hergestellt wird. Von http://en.wikipedia.org/wiki/HTTP_referrer
Wenn auf eine Website über eine HTTP Secure (HTTPS) -Verbindung zugegriffen wird und ein Link auf eine andere Stelle als einen anderen sicheren Ort verweist, wird das Verweisfeld nicht gesendet.
Ich würde es vorziehen , dass andere Domänen können die Referrer sehen , so dass sie wissen , dass der Verkehr von meiner Domain kommt. Gibt es eine Möglichkeit, diesen Header zu erzwingen, oder gibt es eine andere Lösung?
Aktualisieren
Ich habe einige grundlegende Tests mit einer Umleitung durchgeführt:
http page -- link to http --> 301 redirect --> http page = referrer intact
https page -- link to https --> 301 redirect --> http page = referrer blank
https page -- link to http --> 301 redirect --> http page = referrer blank
https page -- link to http --> 302 redirect --> http page = referrer blank
Der Referrer geht verloren, wenn eine Verknüpfung von einer https-Seite zu einer http-Weiterleitungsseite in meiner eigenen Domain hergestellt wird. Es gibt also keinen Referrer für die Weiterleitung.
Origin
sollte intakt sein, passt aber möglicherweise nicht zu Ihrem Anwendungsfall.Antworten:
Wie bereits erwähnt, gibt es für diese Antwort eine neue Methode: Referrer Policy / Meta-Tag.
Siehe Spezifikation und Beispiel in diesen Fragen und Antworten .
quelle
Ich hatte auch das gleiche Problem. Ich löse durch Hinzufügen eines Meta-Tags wie unten und es wird nur in Chrome und Safari funktionieren.
quelle
Leider können Sie auf HTTPS nicht auf Websites verweisen, die HTTP verwenden. Sie können jedoch HTTPS zu HTTPS oder HTTP zu HTTPS ausführen.
Eine Problemumgehung besteht darin, ein internes Umleitungsskript zu verwenden, das nicht auf den Besucher des HTTPS verweist, den Sie zu HTTP umleiten, und dann umleitet.
Beispielsweise:
<a href="http://www.yours.com/out.php?www.other.com">www.outboundsite.com</a>
Dies würde jedoch nicht den ursprünglichen Referrer verwenden.Eine andere Möglichkeit ist die Verwendung von Trackbacks anstelle von Referrern. Soweit ich weiß, funktioniert dies in HTTPS.
quelle
Ich konnte einen Link von einer HTTPS-Seite zu einer HTTP-Seite in einer anderen Domain einrichten und trotzdem die URL der ersten Seite als Referrer mit der folgenden Technik übergeben.
Definitionen
Ursprungsseite : HTTPS-Seite, auf der sich der Link zur von HTTP gehosteten Zielseite befindet. In diesem Beispiel:
https://example1.com/origin.html
Zielseite : HTTP-Seite, die Zugriff auf den Referrer der Ursprungsseite hat. In diesem Beispiel:
http://example2.com/destination.html
Grundplan
Dies hat zur Folge, dass die Umleitung von der HTTP-Version der Ursprungsseite stammt:
Link auf HTTPS-Ursprungsseite verweist auf die aktuelle Seite, fügt jedoch einen Abfrageparameter für die Zielseite hinzu [1]. z.B:
https://example1.com/origin.html?goto=http://example2.com/destination.html
Wenn auf den Link geklickt wird, unterbricht der Server unter example1.com die Standardanforderung, wenn der Abfrageparameter 'goto' vorhanden ist. Es dann:
http://example1.com/origin.html
Der Server überprüft bei jeder Anforderung ein "goto" -Cookie. Wenn vorhanden, wird das Cookie gelöscht und anschließend eine sehr einfache Weiterleitungsseite gerendert. Diese Seite enthält [2]:
Anmerkungen
[1] Diese grundlegende Lösung ist ein offener Redirector, und es sollte erwogen werden, sich vor bösen Jungs zu schützen, indem der Parameter goto query verwendet wird, um UAs bei Phishing-Angriffen umzuleiten.
[2] Nicht alle Browser senden den Referrer, wenn sie über eine JS-Umleitung oder ein Meta-Refresh-Tag umleiten. In meinem Test besteht IE8 und niedriger den Referrer nicht.
Ich bin nicht sicher, ob diese Technik es Suchmaschinen-Crawlern ermöglicht, den Links zu folgen. Dies ist für meine Anforderungen nicht wichtig.
Wenn auf dem UA Cookies deaktiviert sind, wird dies nur wieder zur Ursprungsseite umgeleitet.
Zulassen von HTTP-Verbindungen nur für Weiterleitungen
Auf meinem Server habe ich eine Apache-Regel zum Erzwingen von HTTPS unabhängig von der Anforderung:
Damit die oben beschriebene Umleitungstechnik funktioniert, muss HTTP-Verbindungen bedingt zugelassen werden. Es gibt viele Möglichkeiten, dies zu tun. Ich habe beschlossen, dass ein Cookie funktioniert.
Das Cookie disable_ssl wird in Schritt 2 gesetzt und dann in Schritt 3 gelöscht.
quelle
gemäß HTTP 1.1-Protokoll http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.1.3
Clients sollten ein Referer-Header-Feld NICHT in eine (nicht sichere) HTTP-Anforderung aufnehmen, wenn die verweisende Seite mit einer sicheren Seite übertragen wurde
quelle
Sieht so aus, als wäre das, was Sie wollen, nicht möglich, also eine mögliche Problemumgehung. Wenn die Zielwebsite Google Analytics verwendet (oder ein kompatibles Programm, von dem ich glaube, dass Piwik eine ähnliche Syntax verwendet und andere Statistikpakete dumm wären, dies zu ignorieren), können Sie die Tracking-Parameter senden, z. B. in Ihrem Link zu example.com
Dies wird in der GA mit den Details angezeigt. Stellen Sie sicher, dass Sie Werte auswählen, die wahrscheinlich von niemand anderem verwendet werden, damit Sie sie nicht in Konflikte zwingen oder Ihren Datenverkehr hinter anderen Personen verbergen
Google erstellt hier einen praktischen URL-Builder: http://support.google.com/analytics/answer/1033867?hl=de
Update - bezüglich: Etikette
Ohne mehr über die Art des Verkehrs zu wissen, kann ich nur allgemein / persönlich sprechen ...
Etikette wird immer im Auge des Betrachters sein. Ohne dies würde es zumindest in GA wahrscheinlich als direkt erscheinen, oder vielleicht (kein Satz), was ihre Zahlen verzerren würde, damit es so aussieht, als wäre ihre Marke größer als sie ist. Persönlich würde ich eine sorgfältig ausgewählte Kampagne bevorzugen, damit ich weiß, woher der Verkehr kommt.
Sie könnten es auch so betrachten, als würden sie sich wahrscheinlich nicht beschweren, wenn Sie ihnen kaum Verkehr schicken, wenn Sie ihnen viel schicken, werden sie sich wahrscheinlich nicht beschweren! Wenn dies der Fall ist, können Sie normalerweise jemanden finden, dem Sie freien Verkehr geben können!
und wenn Sie sehr spezifisch sind, sollte es keine Probleme verursachen; Kampagne als Name Ihrer Website und Quelle als Abschnitt Ihrer Website vielleicht?
quelle