6

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

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

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

アドバイスをありがとう。

ASP.NET ウェブフォーム、C# を使用しています。

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

4

1 に答える 1

9

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

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

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

于 2013-01-21T03:49:27.003 に答える