通过 php 下载远程映像(安全)



PHP:

有什么想法,我可以找到类似于堆栈溢出使用的脚本吗?还是自己做这样的东西很容易?我确定下载图像不是问题,但我更担心安全性。我正在构建一个用户头像上传/远程上传系统。

Jquery:

我在标签中添加jquery的原因,也许可以让用户指向图像的URL,并以某种方式通过正常的文件上传输入自己上传(而无需先手动将图像下载到计算机)

您可以使用 cURL 下载图像,然后使用 getimagesize() 检查它是否真的是图像 - 出于安全目的。

<?php
$limit = 1024*1024*10 // Max. file size in bytes (1024*1024*10 = 10MB)
$ch = curl_init();
$fh = fopen('image.jpg', 'w'); 
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FILE, $fh);
curl_setopt($ch, CURLOPT_RANGE, '0-' . $limit);
curl_exec($ch);
curl_close($ch);
if ($image = getimagesize ("image.jpg")) { 
     // It's an image
}
else { 
     // Not an image; delete!
} 

最新更新