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

标签 php html curl canvas same-origin-policy

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

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

Curl 似乎很容易,如果有人对此主题有任何经验,我会花时间学习它。

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

最佳答案

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

关于php - 使用 PHP 和 cURL 操作从另一个站点检索的图像数据是否违反同源策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6172030/

相关文章:

file-upload - 帮助 AppleScript cURL 文件上传

php - 如何在 MySQL 中获取带有帖子 id 的帖子页面

PHP MySQL : explode and JOIN Combination

php - Apache 虚拟服务器和使用 ip 地址的硬编码 mysql 连接器

html - 垂直对齐 html 元素

javascript - 元素拒绝移动 - jQuery .css

html - 向 Bootstrap 导航栏添加字幕

php - 似乎无法通过 cURL 获取网页内容 - 用户代理和 HTTP header 都已设置?

php - 强制用户通过 HTTPS 而不是 HTTP 访问我的页面?

curl - 在文件上传中使用curl来处理多部分/表单数据