簡體   English   中英

Request.ServerVariables["HTTP_REFERER"].ToString() 在 IE11 中不起作用

[英]Request.ServerVariables["HTTP_REFERER"].ToString() is not working in IE11

我有一個內部連接到第三方網站的基本頁面。 當單擊此第三方網頁上的按鈕時,我的網頁會在另一個選項卡中啟動。

啟動時,我捕獲上一頁 URL,以便我可以在上一個 URL 中獲取特定 ID。 這在 IE8 到 IE10 上一直運行良好。
但是 IE 11 根本不會返回完整的 URL。 有沒有人知道的快速解決方案?

我已經嘗試了以下所有內容,但沒有任何樂趣,

Request.ServerVariables["HTTP_REFERER"].ToString()
ViewState["PreviousPageURL"] = Request.UrlReferrer;
Request.UrlReferrer.AbsoluteUri;
string urlName = Request.UrlReferrer.ToString();
System.IO.Path.GetFileName(Request.UrlReferrer.AbsolutePath);

提前感謝任何幫助。 非常感謝,

不信任客戶端-您不應依賴Referer標頭被發送或正​​確。

特別是Google搜索使用JavaScript技巧來阻止從搜索結果頁面發送Referer標頭-網站管理員不再能夠獲取原始Google搜索頁地址(從查詢字符串中提取搜索字詞)-表面上這是為了保護用戶隱私。

其他原因包括:

  • 用戶的自定義隱私設置以禁用標題
  • 禁用標頭的第三方安全軟件(如Norton Internet Security)
  • 阻止標頭的網絡安全硬件,例如HTTP代理或公司防火牆
  • 瀏覽器擴展

據我所知,IE11不改變Referer -處理行為。

在您提供的代碼示例中,最后4個示例全部使用Request.Urlreferrer因此它們當然都將返回相同的結果。

根據我的經驗,如果您在 iframe 中打開頁面,則引用字段在 ie 中不會為空(至少在 ie11 中不會)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM