PHP: 如何屏蔽图片请求的http referer?

PHP: How to block the http referer for an image request?

由于盗链保护,我无法显示图像。为了获取图像而发送的 http 请求包含一个非空引用 header。这会导致热链接保护启动。

使用referer控制工具,我可以屏蔽referer,从而绕过防盗链。但是现在我想在 PHP/HTML/javascript 代码中执行此操作。查了资料说是可以的,但是不太明白怎么实现。

有人可以帮帮我吗? 提前致谢!

仅供参考:我已获得该网站的许可进行热链接,因为这是针对 android 应用程序的。但是他们无法为我提供 API.

无法从浏览器请求中伪造引荐来源 header,甚至无法通过 JavaScript.

的调用

2022 更新: 正如评论和其他答案中指出的那样,这个 is now possible(IE 和其他非常旧的浏览器除外)。

您可以设置一个代理服务器,伪造 Referer header。然后,您需要让 android 应用程序指向您自己的服务器以获取所有图像。您可以从 PHP 执行此操作,使用 curl 函数(甚至直接通过套接字 API)。

注意:如果目的是真正的盗链,那么这不会节省任何东西,因为您最终会提供所有图像。它增加了另一个可能会损坏的移动部件。如果您的图像供应商无法为您提供更好的解决方案,请寻找其他供应商?

您可以通过将 no-referrer 值设置为 img 元素的属性 referrerpolicy 来尝试避免热链接保护。 详情 here.