我想知道函数imagecreatefrompng(及其亲属)是否安全?
如果我在哪里使用此功能获取外部图像文件,并且图像包含恶意代码,我的服务器上是否会显示此代码?
示例:
<?php
if($_GET['pass'] != 'IamAW') die();
// Accepted Filetypes
$Accepted = array('png');
$File = $_GET['file'];
$Filetype = end(explode('.', $File));
if(!in_array($Filetype, $Accepted)) {
die('Fil-type ikke valid');
}
$im = imagecreatefrompng($File);
header('Content-Type: image/'. $Filetype);
imagepng($im);
imagedestroy($im);
?>
答案 0 :(得分:0)
它可行,但为什么还要打扰?
您正在吮吸远程PNG,在内存中解压缩为原始格式,然后重新压缩为PNG,而无需对图像执行任何操作。如果它最终成为一个&#34;大&#34; PNG(例如1280x1024 32位PNG将需要5兆字节的RAM。
你做得更好:
echo file_get_contents($remote_image_url);
节省您的解压缩/重新压缩时间。