【问题标题】:how reliabile is document.referrer, can it be spoofed/ faked?document.referrer 的可靠性如何,它可以被欺骗/伪造吗?
【发布时间】:2015-05-07 14:58:41
【问题描述】:

document.referrer 在确定来源方面有多可靠?

我希望网站 (A) 仅在访问者来自特定的其他网站 (B) 时才能工作。

我打算在网站A中使用document.referrer来检查网站B是否是来源(检查在服务器端完成)。

是安全可靠的方式吗?如果没有,我的替代方案是什么?

我看过this,但用例与我的完全相反。

【问题讨论】:

  • 初始页面内容是通过 AJAX 还是其他方式加载的?
  • 不,至少现在还没有,这更多的是功能而不是内容,如果来源不满足我,我想屏蔽网站中的所有功能,
  • 那么,服务器使用session来记住之前是否查源成功?了解服务器端如何参与其中是一个重要的细节。
  • 我用的是nodejs,页面和服务器之间已经有了socket连接,所以打算用它来验证一下……
  • 您首先试图阻止什么样的攻击?

标签: javascript referrer http-referer spoofing


【解决方案1】:

此计划不会提供任何程度的安全性。 document.referrer“在服务器端”不存在。它只存在于您在浏览器中谈论的内容。

你在服务器上得到的是HTTP referrer这很容易被欺骗。

【讨论】:

  • 抱歉,我的意思是,正在检查的 website2 浏览器会将其发送到服务器进行检查,因此不会公开我正在检查的逻辑/哪个站点...
  • @mido 再次,欺骗 http 标头是微不足道的,你在哪里检查它并不重要
  • @JuanMendes 根本不检查 HTTP 标头;引用者在 JavaScript 中确定,然后发送到服务器(即 GET 或 POST),此时完成检查。
  • @Jack 不确定你的意思。 OP 想要检查链接的来源。您可以使用document.referrer 在客户端上检查它或检查服务器上的http 标头。两种方法都不是万无一失的
  • 那么我如何验证 website2 仅来自 website1?
猜你喜欢
  • 1970-01-01
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
  • 2015-09-15
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多