【问题标题】:get referer of website that is requesting your js file获取请求您的 js 文件的网站的引用者
【发布时间】:2010-08-05 03:10:40
【问题描述】:

我有一个简单的嵌入脚本:

document.write(unescape('%3Cscript src="' + mp_protocol + 'blah.cloudapp.net/js?location="' + window.location +' type="text/javascript"%3E%3C/script%3E'));

正如您现在所见,嵌入代码的网页的 URL 是使用 window.location 传入的。但这很容易被客户编辑。

我想知道是否可以获取引荐来源网址而不是传递网址。由于嵌入了此脚本,我不确定是否会传递引用信息?

(是的,您也可以伪造推荐人……但这比我认为大多数人想要的要多一些努力)。

【问题讨论】:

    标签: javascript asp.net http referrer


    【解决方案1】:

    浏览器通常会为脚本请求发送一个“Referer”(原文如此)标头,其中包含包含脚本链接的页面的 URL,无论该脚本元素是如何创建的。

    这可以通过检查“Referer”HTTP 变量来访问(注意不寻常的拼写)。

    这个想法是您可以检查此变量并查看它是否引用了您网站的一部分。

    请注意,这个变量并不总是准确的;用户可以选择不发送referer header(使用某种极小的隐私工具)来保护他们的隐私,他们甚至可以修改浏览器以在此字段中发送他们想要的任何内容。因此,不应依赖它进行身份验证,除非您还考虑到即使是合法用户也可能将其留空或在其中放入任意字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-31
      • 1970-01-01
      • 2012-10-09
      相关资源
      最近更新 更多