【问题标题】:Image upload security. GD enough? when do I use it?图片上传安全。 GD够吗?我什么时候使用它?
【发布时间】:2012-05-01 09:09:13
【问题描述】:

根据Secure User Image Upload Capabilities in PHP,推荐的管理图片上传安全的方法是使用GD/ImageMagick/...复制传入的图片(并设置一个随机名称)。

好的。我有以下问题。

第一名。

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

  • 首先我们下载用户上传的图片,并以随机名称保存在 temp 中。
  • 然后我们将其加载到我们的视图中,以便用户对其进行裁剪。
  • 裁剪的图像是使用 GD 创建的。

没有先用GD处理就加载图片有风险吗?

第二次

用GD处理图像是否足够?我看过这个答案:Block upload of executable images (PHP) 这说不是(与我在主题上看到的第一个链接和其他答案相反)。

谢谢!

PS:使用 Codeigniter 进行编程。

【问题讨论】:

    标签: image security codeigniter gd uploadify


    【解决方案1】:

    第一个:

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

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

    第二: 是的,我会想,先试试getimagesize,如果你得到有效的,然后用GD处理。您也可以选择将扩展程序列入白名单,如果您没有这样做的话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 2012-04-02
      • 2019-12-29
      • 2015-04-24
      • 2014-08-17
      • 2012-09-18
      • 1970-01-01
      相关资源
      最近更新 更多