Implementieren Sie die HTTP-zu-HTTP-Weiterleitung, indem Sie den Google Analytics-Referrer beibehalten

8

Google Analytics zeigt eine verdächtige Menge an (direct)/(none) als Quelle für meine Website an. Ich weiß, dass wenn eine HTTP-Website von einer HTTPs-Website verlinkt wird, die Referrer-Information verloren geht.

In meinem Fall habe ich eine sichere Website Ссылка und verwende die folgenden Apache-Einstellungen, um Benutzer weiterzuleiten, falls sie versuchen, auf sichere Version:

%Vor%

Natürlich kann ich nicht kontrollieren, ob eine externe (sichere) Website mich über http oder https verbindet.

Jetzt sind meine Fragen:

  • Warum die Referrer-Informationen von https zu http?
  • verloren gehen
  • Wenn eine externe Website mich als Ссылка verlinkt, wird dies direkt in Analytics angezeigt?
  • Gibt es eine Möglichkeit, den Benutzer auf die sichere Website umzuleiten, während der Referrer beibehalten wird ?
Marco 11.05.2017, 13:27
quelle

1 Antwort

4

Dies ist auf Sicherheit zurückzuführen:

  

Da es sich bei der Quelle eines Links um eine private Information oder um eine ansonsten private Informationsquelle handelt, wird dringend empfohlen, dass der Benutzer auswählen kann, ob das Referer-Feld gesendet werden soll oder nicht. Zum Beispiel könnte ein Browser-Client einen Kippschalter haben, um offen / anonym zu surfen, was das Senden von Referer- und From-Informationen aktivieren / deaktivieren würde.

     

Kunden sollten kein Referer-Header-Feld in einer (nicht sicheren) HTTP-Anfrage enthalten, wenn die verweisende Seite mit einem sicheren Protokoll übertragen wurde.

     

Autoren von Diensten, die das HTTP-Protokoll verwenden, sollten keine GET-basierten Formulare für die Übermittlung sensibler Daten verwenden, da dies dazu führt, dass diese Daten in der Anfrage-URI codiert werden. Viele vorhandene Server, Proxies und Benutzeragenten protokollieren den Anforderungs-URI an einer Stelle, an der er für Dritte sichtbar sein könnte. Server können stattdessen eine POST-basierte Formularübermittlung verwenden

Dieses Verhalten ist besser hier erklärt :

  

Wenn zwischen HTTP und HTTPS gewechselt wird, besagt die HTTP-Spezifikation, dass ein Referer-Header NICHT gesendet werden sollte (siehe 15.1.3 in RFC2616). Die Spezifikation sagt jedoch nicht, was zwischen HTTPS-Seiten passieren soll.

Ihre Frage wurde bereits in StackOverflow bearbeitet. Siehe einer .

Einige vorgeschlagene Korrekturen :

1) Für einige Browser können Sie einfach einen neuen Metatag zu Ihrer Seite hinzufügen: <meta name="referrer" content="always"> oder <meta name="referrer" content="origin"> . Weitere Informationen zu diesem Meta Unterschiede in der Browserunterstützung können hier gefunden werden .

2) Sie könnten eine Zwischenseite verwenden, die den Seitenaufruf verfolgt, während der Referrer dort ist (http): Ссылка , wo / redirect einen Aufruf an Analytics sendet, um finalpage.htm mit dem Referrer zu verfolgen, bevor er dorthin weitergeleitet wird. Siehe vollständige Erklärung .

3) Sie könnten einen Parameter auf der 301-Weiterleitung hinzufügen und die Referrer-Information mit ga('set', 'referrer', 'http://example.com'); überschreiben. Siehe vollständige Erläuterung . Dies könnte mit dem vorherigen Punkt kombiniert werden und die Verfolgung der Zwischenseite vermeiden, aber die Daten des Verweises sammeln.

    
nitobuendia 15.05.2017 15:43
quelle