0

实际上,我在开发诸如“更改头像”之类的东西时正在鬼混,其中存在从其 URL 获取图像的选项

$raw  = file_get_contents($src);
$img  = imagecreatefromstring($raw);
// and others gd stuff

实际上它工作正常,除非它来自某个特定的网站,比如 pixiv
http://i2.pixiv.net/img02/img/suzupin/2800349.jpg
例如,这会引发一些错误

顺便说一句,当我尝试在 Pinterest 上 PIN 时也是如此 =P
为什么?

有没有办法阻止其他人file_get_contents在我的网站上做类似的事情?
我可以说这与它有关oriental websites吗?因为我经常无法使用来自日本来源的 PIN 图像。>.<

4

2 回答 2

2

正在发生的是这些网站正在实施“防盗链”。有许多不同的方法——一些@duskwuff 建议——cookies、检查引用者、会话等。

你想要做的是规避热链接预防,这在这个 SO 问题中得到了回答:使用 CURL 从 URL 下载文件

于 2013-06-09T02:11:42.443 回答
0

您可以使用登录表单或验证码,然后允许图像查看和测试浏览器版本等,但如果用户使用带有 cookie 的 curl(我不知道如何将 cookie 与 file_get_contents 一起使用,那么很难禁止用户。

于 2013-06-09T01:39:18.780 回答