javascript
  • .net
  • asp.net
  • 2011-07-26 52 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黑客工作。 –

    相关问题