使用 PHP 和 cURL 操作从其他站点检索的图像数据是否违反同源策略?

发布于 2024-11-10 13:08:37 字数 374 浏览 0 评论 0原文

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

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

Curl 看起来很简单,如果有人有这方面的经验,我会花时间学习它。

您认为将图像以 Base64 形式托管在 CDN 上并在服务器上进行翻译是一个实用的想法吗?我只是提出一些想法。

I was wondering if same origin policy is violated if you retrieve an image using PHP and cURL and manipulate it using HTML5 canvas? I know getImageData and putImageData doesn't work for images fetched from different (sub)domains. I am not too familiar with the cURL library but I hear that the output that you fetch can either be immediately echoed in the browser or you can put it to the server for later use. With the immediate output method, does the same origin policy still prevent me from manipulating the remote image data on my local machine however I want?

In the end, what I intend to do is use a CDN to store images and have a web server retrieve them and manipulate them (using canvas) upon client request.

Curl seems easy and I'll take the time to learn it if anyone has any experience on the subject.

Do you think hosting the images on the CDN in base64 and translating on the server is a pratical idea? I'm just throwing ideas out there.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云朵有点甜 2024-11-17 13:08:37

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

Provided the PHP script you use is in the same domain... If you retrieve an object from a remote server and deliver it down to a client connected to your server, from the client's perspective it does indeed come from your server, hence it is not a same-origin violation. This is true whether you retrieve it with cURL and immediately dump it down to the client browser, or if you hang onto it in memory, modify it, and then dump it down to the browser.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文