我有一个简单的嵌入脚本:
document.write(unescape('%3Cscript src="' + mp_protocol + 'blah.cloudapp.net/js?location="' + window.location +' type="text/javascript"%3E%3C/script%3E'));
正如您现在所看到的,嵌入代码的网页的URL是使用window.location传递的。但这可以很容易地由客户编辑。
我想知道我是否可以获得推荐人而不是传递网址。由于嵌入了这个脚本,我不确定是否会传递引用信息?
(是的,你也可以伪造推荐人......但这比我想大多数人想要的要多一些)。
答案 0 :(得分:3)
浏览器通常会为脚本请求发送“Referer”(sic)标头,其中包含包含脚本链接的页面的URL,无论该脚本元素是如何创建的。
通过检查“Referer”HTTP变量(注意异常拼写)可以访问它。
我们的想法是,您可以检查此变量,看看它是否涉及您网站的一部分。
请注意,此变量并不总是准确的;用户可以选择通过不发送引用标题(使用某种极小的隐私工具)来保护他们的隐私,并且他们甚至可以修改他们的浏览器以在该字段中发送他们想要的任何内容。因此,不应该依赖它进行身份验证,除非您还考虑到即使是合法用户也可能将其留空或在其中添加任意字符串。