2011-02-17 61 views
0

我們的網站和ask.com工具欄存在一個奇怪的問題。不知何故,如果我們在我們的網絡中的客戶端上安裝ask.com工具欄,它將覆蓋沒有安裝ask.com工具欄的其他客戶端上的Request.Browser.Browser和Request.Browser.MajorVersion。但是,用戶代理字符串在安裝了工具欄的其他客戶端上是正確的。問題是我們基於Request.Browser.Browser和Request.Browser.MajorVersion限制對我們網站的訪問,如果ask.com工具欄安裝在某處,它就會破壞我們用於限制訪問的邏輯。Request.Browser.Browser和ask.com工具欄

更新:顯然,經過一段時間後,問題消失,即使未做任何更改,Request.Browser.Browser和Request.Browser.MajorVersion也會正確報告。

所以我想我真的有兩個問題: 1)如何在一個客戶端上安裝第三方工具欄對ASP.Net請求對象有影響? 2)ASP.Net Request對象在哪裏得到它的信息(因爲它似乎沒有解析用戶代理字符串來獲取它)?

+1

我當然希望你沒有使用它來阻止nonIE瀏覽器.... –

回答

1
  1. 第三方工具欄類似於ASK over寫入瀏覽器的用戶代理字符串。
  2. 每次發出請求時,都會將用戶代理信息傳遞給服務器。 ASP.NET Request.ServerVariables [「UserAgent」]將具有此值信息,並且ASP.NET會根據瀏覽器上限使用此信息來識別瀏覽器。