Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 图像上传安全。够了吗?我什么时候用?_Image_Security_Codeigniter_Gd_Uploadify - Fatal编程技术网

Image 图像上传安全。够了吗?我什么时候用?

Image 图像上传安全。够了吗?我什么时候用?,image,security,codeigniter,gd,uploadify,Image,Security,Codeigniter,Gd,Uploadify,根据,建议的方法是管理图像上传的安全性,即使用GD/ImageMagick/…复制传入图像。。。(并将其设置为随机名称) 嗯。我有以下问题 第一名。 在我们的页面中,我们可以裁剪图像。因此: 首先,我们下载用户上传的图像,用随机名称将其保存在temp中 然后我们在视图中加载它,以便用户可以裁剪它 裁剪的图像是使用GD创建的 在没有先处理GD的情况下加载图像是否有风险 第二名 用GD处理图像是否足够?我看到了这个答案: 这表示不是(与第一个链接和我在这个主题上看到的其他答案相反) 谢谢 PS:

根据,建议的方法是管理图像上传的安全性,即使用GD/ImageMagick/…复制传入图像。。。(并将其设置为随机名称)

嗯。我有以下问题

第一名。

在我们的页面中,我们可以裁剪图像。因此:

  • 首先,我们下载用户上传的图像,用随机名称将其保存在temp中
  • 然后我们在视图中加载它,以便用户可以裁剪它
  • 裁剪的图像是使用GD创建的
在没有先处理GD的情况下加载图像是否有风险

第二名

用GD处理图像是否足够?我看到了这个答案: 这表示不是(与第一个链接和我在这个主题上看到的其他答案相反)

谢谢

PS:使用Codeigniter编程。

1st:

这应该足够好了。确保图像只能临时访问,并且在完成所有操作后立即删除(我可能还会设置一个cron作业,以便经常清理临时图像目录,但这取决于存储它的位置)。正如您发布的答案中所说,请记住清理名称,并确保您已正确设置权限。还要注意空字节注入和目录遍历(再次重复您提到的答案)。 然后,我会使用
getimagesize
检查图像是否有效,以确保它是一个实际图像,仅此而已

还有客户端html5解决方案,您可以完全避免这个问题,但这当然意味着它不能与旧浏览器一起工作。 当然,不要相信它所说的内容类型

第二: 是的,我会想,首先尝试
getimagesize
,如果您得到有效的,然后使用GD处理。如果您没有这样做,还可以选择白名单扩展