【问题标题】:Is it possible to set Request.UrlReferrer in the client side javascript? If so, how?是否可以在客户端 javascript 中设置 Request.UrlReferrer?如果是这样,怎么做?
【发布时间】:2011-07-26 17:35:03
【问题描述】:

我有这个应用程序,它广泛依赖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 属性对于 识别网络流量的基本趋势;你不应该把它作为一部分 用于控制对数据的访问的授权方案。

因此可以伪造它,这对我的目的非常有用。但是我不知道如何实现这一点。

有没有办法使用 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

【问题讨论】:

    标签: javascript .net asp.net


    【解决方案1】:

    很抱歉,但我认为它不会起作用。这只有在您手动构建 http 请求时才有可能(即使使用 ajax,您也会在大多数浏览器上遇到问题)

    【讨论】:

    • 谢谢,我想我会继续尝试让替代的 javascript hack 工作。
    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 2011-02-16
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    相关资源
    最近更新 更多