2013-01-21 14 views
5

Wie wird die vorherige Seite aufgerufen?Vorherige Seite abrufen Url

senario, Benutzer könnte von Google kommen, Yahoo, Bing.
woher wissen sie, woher sie kommen?

Ich versuche mit Request.UrlReferrer
aber es gibt einen Nullwert zurück.

danke für die beratung.

Ich benutze ASP.NET Webformular, C#.

Aktualisieren
Ich habe eine Website läuft.
Ich möchte nur wissen, woher kommen sie, wenn der Benutzer meine Website besucht.

+3

Sind Sie sicher, dass die Anfrage tatsächlich einen Referrer hat? Ex. Der Benutzer gibt die URL manuell ein. –

+0

@AustinBrunkhorst Ich habe eine Website läuft. Ich möchte nur wissen, woher kommen sie, wenn der Benutzer meine Website besucht. – alont

+2

Ich verstehe das, aber ich sage, wenn es keinen Referrer gibt, wird es null sein. –

Antwort

8

Was Sie beschreiben, ist die Referer HTTP-Header (ursprünglich ein Rechtschreibfehler von "Referrer", die wir jetzt fest sind). Browser füllen dieses Feld mit dem URI jeder Webseite aus, die einen Benutzer dazu veranlasst hat, zu einer neuen Seite zu navigieren (z. B. indem er auf einen <a> Hyperlink, eine <form> Submission, eine Aktion in einem Flash-Objekt usw. klickt). Nicht bei jeder Benutzeraktion wird die Kopfzeile festgelegt, z. B. wenn eine Adresse direkt in die Adressleiste eingegeben wird oder wenn eine Verknüpfung in einer Desktop-E-Mail-Nachricht geöffnet wird.

Unter ASP.NET ist diese Kopfzeile über die Eigenschaft erreichbar. Diese Eigenschaft wird jedoch null sein, wenn der HTTP-Headerwert kein URI ist oder wenn das Feld nicht vom Client UA festgelegt wurde.

Sie müssen sich niemals auf diesen Mechanismus verlassen, da er vom Client festgelegt wird und Sie dem Client nie vertrauen müssen (http://en.wikipedia.org/wiki/Defensive_programming). Und wie gesagt, nicht alle Besucher werden den Referer Header gesetzt haben.

+1

Es ist auch erwähnenswert, dass der Referer häufig als Datenschutzproblem angesehen wird, so dass Internet Security Suites oft die Referrer Daten ausbleichen. –

Verwandte Themen