2013-01-21 20 views
5

前のページのURLを取得するには?前のページを取得するURL

シナリオでは、ユーザーがフォームgoogle、yahoo、bingになる可能性があります。
彼らはどこから来たのか知る方法?

私はRequest.UrlReferrer
を使用しようとしましたが、null値を返します。

アドバイスありがとうございます。

私はASP.NET webform C#を使用しています。

更新
私はウェブサイトを運営しています。
ユーザーが自分のウェブサイトにアクセスしたときにどこから来たのかを知りたいだけです。

+3

リクエストに実際にリファラーが含まれていますか?例。ユーザーは手動でURLを入力します。 –

+0

@AustinBrunkhorst私はウェブサイトを運営しています。 私は、ユーザーが自分のウェブサイトにアクセスしたときにどこから来たのかを知りたいだけです。 – alont

+2

私はそれを理解していますが、リファラーがない場合はnullと言います。 –

答えて

8

説明しているのは、Referer HTTPヘッダーです(もともと私たちが抱えている「紹介者」のスペルミス)。ブラウザは、ユーザーが新しいページに移動する原因となったウェブページのURIをこのフィールドに入力します(<a>ハイパーリンク、<form>投稿、Flashオブジェクト内のアクションなどをクリックするなど)。アドレスバーにアドレスが直接入力された場合や、デスクトップの電子メールメッセージにリンクが開かれた場合など、すべてのユーザーアクションによってヘッダーが設定されるわけではありません。

ASP.NETでは、このヘッダーはRequest.UrlReferrerプロパティでアクセスできます。ただし、HTTPヘッダー値がURIでない場合、またはフィールドがクライアントUAによって設定されていない場合、このプロパティはnullになります。

このメカニズムはクライアントによって設定され、クライアント(http://en.wikipedia.org/wiki/Defensive_programming)を信用してはいけません。また、すべての訪問者にRefererヘッダーが設定されているわけではありません。

+1

リファラーはプライバシーの問題としてよく見かけることにも言及する価値があるので、インターネットセキュリティスイートはリファラーデータを空白にすることがよくあります。 –

関連する問題