Php 从不可信的远程图像生成缩略图
我正在做一个简单的缩略图生成器,生成缩略图没有问题,我正在使用PHP,file_get_contents来获取删除图像内容 我想知道下载这样的文件内容(使用cURL或file_get_内容)是否存在安全问题Php 从不可信的远程图像生成缩略图,php,curl,thumbnails,Php,Curl,Thumbnails,我正在做一个简单的缩略图生成器,生成缩略图没有问题,我正在使用PHP,file_get_contents来获取删除图像内容 我想知道下载这样的文件内容(使用cURL或file_get_内容)是否存在安全问题 如何限制文件大小并在X Mo停止下载 如何检查二进制内容是否没有危险代码 也许还有比PHP更适合我的技术吗 谢谢这里我将测试一段代码: curl_setopt($cURL_Handle, CURLOPT_BUFFERSIZE, 128); curl_setopt($cURL_Handle,
谢谢这里我将测试一段代码:
curl_setopt($cURL_Handle, CURLOPT_BUFFERSIZE, 128);
curl_setopt($cURL_Handle, CURLOPT_NOPROGRESS, false);
curl_setopt($cURL_Handle, CURLOPT_PROGRESSFUNCTION, function(
$DownloadSize, $Downloaded, $UploadSize, $Uploaded) {
// If $Downloaded exceeds 1KB, returning non-0 breaks the connection!
return ($Downloaded > (1 * 1024)) ? 1 : 0;
});
curl_setopt($cURL_Handle, CURLOPT_WRITEFUNCTION, function(
$ch, $str) {
// Grab the first bytes, check if match a image "header signature"
});
使用cURL或file\u get\u contents
要具体,并提供一些代码。您对file\u get\u contents
的控制有限,尽管从5.1开始,is支持maxlen
,但您仍受allow\u url\u fopen
指令的支配;我建议使用curl,这将有助于最大下载大小:@zamnuts谢谢,所以我可以使用curl WRITE函数读取第一个字节并检测JPG/PNG!(据)!!