使用 PHP 和 cURL 操作从另一个站点检索到的图像数据是不是违反了同源策略?

Posted

技术标签:

【中文标题】使用 PHP 和 cURL 操作从另一个站点检索到的图像数据是不是违反了同源策略?【英文标题】:Is it a same origin policy violation to manipulate image data you retrieved from another site using PHP and cURL?使用 PHP 和 cURL 操作从另一个站点检索到的图像数据是否违反了同源策略? 【发布时间】:2011-09-04 13:09:21 【问题描述】:

我想知道如果您使用 php 和 cURL 检索图像并使用 html5 画布对其进行操作,是否违反了同源策略?我知道 getImageData 和 putImageData 不适用于从不同(子)域获取的图像。我对 cURL 库不太熟悉,但我听说您获取的输出可以立即在浏览器中回显,也可以将其放到服务器以供以后使用。使用立即输出方法,同源策略是否仍会阻止我在本地计算机上随意操作远程图像数据?

最后,我打算使用 CDN 来存储图像,并让 Web 服务器检索它们并根据客户端请求(使用画布)操作它们。

Curl 看起来很简单,如果有人对此主题有任何经验,我会花时间学习它。

您认为在 CDN 上以 base64 格式托管图像并在服务器上进行翻译是一个实用的想法吗?我只是把想法扔在那里。

【问题讨论】:

您希望通过将图像托管为 base64 获得什么? 【参考方案1】:

如果您使用的 PHP 脚本在同一个域中...如果您从远程服务器检索对象并将其传递给连接到您的服务器的客户端,从客户端的角度来看,它确实来自您的服务器,因此,它不是同源违规。无论您是使用 cURL 检索它并立即将其转储到客户端浏览器,还是将其挂在内存中,修改它,然后将其转储到浏览器,都是如此。

【讨论】:

以上是关于使用 PHP 和 cURL 操作从另一个站点检索到的图像数据是不是违反了同源策略?的主要内容,如果未能解决你的问题,请参考以下文章

PHP CURL 对于本地主机来说太慢了

PHP CURL 对于本地主机来说太慢了

使用 JavaScript Ajax 从另一个站点检索内容

如何从其他站点检索 json 数据并使用 cURL 对其进行解码?

使用 PHP Curl 发布数据并检索响应?

PHP 在php中使用curl以编程方式发布到php网页并检索结果