如何处理用户上传的图片

如何处理用户上传的图片

我正在使用 Restlet 作为后端尝试创建一个小型 Web 应用程序。

我允许用户上传他们的个人资料图片,但不知道将它们存储在哪里。Google 告诉我将其存储在文件系统中,并将图片路径存储在数据库中,这很有意义。

那么我是否应该将它们存储在 Web 前端所在的公共 Web 文件夹中?但这样人们岂不是很容易就能访问所有个人资料图片?

如果我不将图像存储在公共网络目录中,那么我应该将它们存储在哪里以及如何保护它们?

我的服务器是 Ubuntu server 12.04,提前致谢

顺便问一下,关于上传后如何处理图片,有什么建议吗?我正在尝试将所有格式转换为 png 并调整其大小

答案1

  1. 检查每个图像,如果您使用 PHP,您可以调用 getimagesize()
  2. 您可以在 www 内保存图像,但您可以禁用目录索引,或者,
  3. 将图片保存在www之外,那么就需要像读取文件一样在内部读取图片。
  4. 最好还在存储图像的目录中禁用 PHP。
  5. 我还希望在使用 getimagesize() 加载图像时检查图像,我确信如果您使用图像库,您就可以在注入恶意代码时检测到无效的图像类型。

相关内容