首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过重定向更改http-引用程序

通过重定向更改http-引用程序
EN

Stack Overflow用户
提问于 2010-09-02 14:38:15
回答 1查看 6.2K关注 0票数 3

我们正在注册一个在线资源,该资源使用http-referer作为身份验证(我知道这是个糟糕的想法),以证明请求来自我们的intranet (由于存在更高级别的代理,因此无法获得IP地址)。

不幸的是,他们的系统可能需要一个特定的引用URL,而不是接受域。这将意味着,当我们想从不同的页面链接到资源时,我们需要向它们注册另一个URL,或者链接到有效的启动页面,它们必须再次单击。

如果我们需要沿着这条路线走下去,我想让它尽可能不引人注意,因此我想知道实现以下目标的最佳方法是什么:

  1. http://intranet/somerandomurl有一个链接to
  2. http://intranet/AuthorisedUrl,它需要作为引用者to
  3. http://externalsite/

有没有办法做到这一点,而不是字面上让人们点击一个链接?(大多数浏览器都是IE6或IE7,如果这有帮助的话,如果有些浏览器需要点击链接,但我可以使用JS,因为我对此很满意)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-02 14:50:05

把这段代码放在链接2上。对于那些启用了JavaScript的人,

代码语言:javascript
复制
 <script type="text/javascript">

window.location = "http://example.com/"

</script>

这将在执行时将它们重定向到http://example.com/。尽可能早地将其放在<head>中,以便在页面加载过程中尽可能早地进行重定向。

然后,只需在页面上为那些禁用JavaScript的人提供一个手动链接。

无论哪种方式,链接2都将是外部站点的引用者。

(警告:这是一种非常非常不安全的身份验证方法。)

编辑:在javascript重定向之后,一些IE版本没有传递Referer头,这似乎存在一个已知的问题。以下是解决办法:http://webbugtrack.blogspot.com/2008/11/bug-421-ie-fails-to-pass-http-referer.html

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3628186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档