建议实现 php 图像代理


Advise for implementing a php image proxy

我需要在 PHP 中实现一个代理来加载图像文件,我发现了这样的东西

<?php
    header('Content-Type: image/png');
    if (isset($_POST['remote_url'])) {
        echo file_get_contents($_POST['remote_url']);
    }
?>

(1)有没有更好的方法可以做到这一点?或者增强这一点?(在速度和服务器加载方面)

(2) 如何避免未经授权使用此 PHP 脚本?

(1)我至少会添加一些错误处理。获取远程资源可能会以超时、404 或任何其他 HTTP 错误结束。反过来,这可能会使您从 file_get_contents 切换到具有更多配置选项的 CURL。一些测试表明它的工作速度比 file_get_contents ,顺便说一下。

(2) 如果您使用会话,则可能适合在此处进行授权。另一个(但不太可靠)选项是检查HTTP_REFERER标头内容。