我想从远程网站热链接图像。这在我在我的本地PC(Apache服务器)上测试时有效,但是当我从我的网站上尝试时它不起作用。
我不是这个主题的专家,但据我所知,如果远程站点中的热链接被阻止,它也不应该在我的本地服务器上工作,对吧?在那种情况下可能是什么问题(我的托管服务提供商说他们没有任何问题)?
答案 0 :(得分:0)
让我们一起来玩。
在您的本地服务器上:
127.0.0.1
(或localhost
)发出请求,该请求会将带有热链接图片的HTML返回example.com
。example.com
发出后续请求,并将referer header设置为127.0.0.1
。example.com
必须确定引荐来源是否允许热链接
因为,对于该服务器,example.com
和127.0.0.1
都指向相同的东西,即服务器本身,这看起来像一个有效的请求。在远程服务器上:
与上述相同,但将127.0.0.1
替换为your.favourite.url
这次服务器验证引荐来源时,会得出your.favourite.url
和example.com
不引用相同内容的结论,因此会阻止图像请求。< / p>
这可能被视为example.com
的错误配置,因为引荐来源可能无法从客户端和服务器上下文解析到同一点。
如果您通过本地网络IP(例如192.168.1.42
)访问本地服务器,那么热链接应该不再有效,除非example.com
具有非常优雅的引荐者策略,或者恰好使用相同的本地IP就像你一样。
也可以通过强制所有本地网络IP来公开example.com
的本地IP,虽然从技术上说这是一个信息泄露,但你无法用它做多少。