javascript - 是否可以在客户端 javascript 中设置 Request.UrlReferrer?如果是这样,如何?

标签 javascript .net asp.net

我有这个广泛依赖于 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

Clients can falsify or choose not to present a Referer header. Therefore, while the UrlReferrer property can be useful for identifying basic trends in Web traffic; you should not use it as part of an authorization scheme to control access to data.

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

有没有一种方法可以使用 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

最佳答案

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

关于javascript - 是否可以在客户端 javascript 中设置 Request.UrlReferrer?如果是这样,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6834111/

相关文章:

javascript - 按钮单击事件后更新 UpdatePanel

.net - 如何将 Web 服务引用添加到类库项目 .NET 4.0 中

javascript - 如何在 knockout 中向可观察数组中的对象添加属性并触发通知?

javascript - <a> 的名称属性的 CSS 选择器?

javascript - 将 Typescript 2 @Types 与 typescript 1.8.10 一起使用

c# - 如何在其所有者进程退出时删除要删除的 DLL?

.net - 如何在 C Sharp 应用程序中组织类?

asp.net - 不想在文本中出现空格,但是这个正则表达式正在传递,不确定为什么

asp.net - ASP.Net 应用程序中格式丰富的 Excel 报表

javascript - mobx @inject 不创建新的(装饰的)组件