javascript
  • .net
  • asp.net
  • 2011-07-26 55 views 2 likes 
    2

    我有這個應用程序廣泛依靠Request.UrlReferrer處理鏈接點擊和維護用戶在應用程序中的位置的頁面歷史。是否可以在客戶端JavaScript中設置Request.UrlReferrer?如果是這樣,怎麼樣?

    的要求發生了變化,我現在需要使用在某個位置進行導航<input type="button" />代替<a href="mypage.aspx"/>

    目前我與

    <input type="button" 
    onclick='ShowLoadingScreen();document.write("<a id=\"link\" style=\"display:none;\" href=\"mypage.aspx\">link</a>");document.getElementById("link").click();'> 
    Do Thing 
    </input> 
    

    試驗,但該代碼是不是乾淨的,我會喜歡和寫入文件吹走我的負載屏幕。如果我在頁面上設置了某個東西的innerHTML,我的點擊就停止工作。

    Microsoft Documentation

    客戶可以僞造或選擇不呈現Referer標頭。 因此,儘管UrlReferrer屬性可用於識別Web流量中的基本趨勢的 ;您不應將其用作授權方案的一部分 來控制對數據的訪問。

    所以有可能僞造它,這對我的目的來說是非常有用的。但我不知道如何實現這一點。

    有沒有辦法使用JavaScript來僞造UrlReferrer,這樣我可以將代碼保持在最低限度? 類似於

    <input type="button" 
    onclick='ShowLoadingScreen(); SetUrlReferrer(); window.location="mypage.aspx";'> 
    Do Thing 
    </input> 
    

    不幸的是,這不起作用。

    document.referrer = 'myref.aspx'; 
    

    Error: Object doesn't support this action

    回答

    1

    我很抱歉,但我不認爲它會成功。這是唯一可能的,如果你手工建立http請求(即使有Ajax,你會在大多數瀏覽器上遇到問題)

    +0

    謝謝,我想我會繼續嘗試讓替代JavaScript黑客工作。 –

    相關問題