我的应用程序广泛依赖于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,我的点击就会停止工作。
客户可以伪造或选择不提供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
答案 0 :(得分:1)
对不起,但我认为它不会起作用。这只有在您手动构建http请求时才有可能(即使使用ajax,您也会在大多数浏览器上遇到问题)