hotlink在本地工作,而不是服务器

时间:2015-10-23 09:10:26

标签: html hotlinking

我想从远程网站热链接图像。这在我在我的本地PC(Apache服务器)上测试时有效,但是当我从我的网站上尝试时它不起作用。

我不是这个主题的专家,但据我所知,如果远程站点中的热链接被阻止,它也不应该在我的本地服务器上工作,对吧?在那种情况下可能是什么问题(我的托管服务提供商说他们没有任何问题)?

1 个答案:

答案 0 :(得分:0)

让我们一起来玩。

在您的本地服务器上:

  1. 您向127.0.0.1(或localhost)发出请求,该请求会将带有热链接图片的HTML返回example.com
  2. 浏览器向example.com发出后续请求,并将referer header设置为127.0.0.1
  3. 现在example.com必须确定引荐来源是否允许热链接 因为,对于该服务器,example.com127.0.0.1都指向相同的东西,即服务器本身,这看起来像一个有效的请求。
  4. 在远程服务器上:

    与上述相同,但将127.0.0.1替换为your.favourite.url 这次服务器验证引荐来源时,会得出your.favourite.urlexample.com 引用相同内容的结论,因此会阻止图像请求。< / p>

    这可能被视为example.com的错误配置,因为引荐来源可能无法从客户端和服务器上下文解析到同一点。

    如果您通过本地网络IP(例如192.168.1.42)访问本地服务器,那么热链接应该不再有效,除非example.com具有非常优雅的引荐者策略,或者恰好使用相同的本地IP就像你一样。

    也可以通过强制所有本地网络IP来公开example.com的本地IP,虽然从技术上说这是一个信息泄露,但你无法用它做多少。