我们使用URLReferrer和在查询字符串中传入的代码来生成在线视频,以便只有我们的付费客户端可以链接到我们的视频播放页面。这个系统已经运行良好一段时间了。我知道URL引用可以被欺骗,但是谁会告诉他们的客户这样做才能访问视频呢?这对我们来说效果很好。
然而,今天有人问我,它对谁不起作用。URLReferrer是空的,他们的站点是HTTPS。我做了一些在线阅读,我得到的印象是,当源页面是https时,没有办法访问URL referrer。这是正确的吗?如果我创建了我们网站的https版本,会解决这个问题吗?或者有没有其他方法可以让我绕过这个问题呢?
谢谢
发布于 2012-01-13 18:09:52
你的在线研究是正确的。不设置HTTP Referrer报头或等效报头的主要原因是这可能是一个安全问题。推荐人包含“你来自哪里”,这是私人信息,不应该暴露给其他人,如果每个人都可以跟踪你去过的地方,那么拥有一个安全的网站有什么用呢?
因此:如果引用是加密的(使用SSL或其他方式),则无法获取引用。
更新:以下是HTTP specification says about coming from a secure site
如果引用页面是使用安全协议传输的,则
客户端不应在(非安全) HTTP请求中包含Referer标头字段。
正如您可能已经猜到的那样,没有办法绕过这个限制。您唯一的选择是使用不同的验证模型。一种这样的方法是给用户一个密钥,并要求他们将其作为参数与请求一起发送。还可以考虑其他几种方法。
https://stackoverflow.com/questions/8848774
复制相似问题