我正在使用 Restlet 作为后端尝试创建一个小型 Web 应用程序。
我允许用户上传他们的个人资料图片,但不知道将它们存储在哪里。Google 告诉我将其存储在文件系统中,并将图片路径存储在数据库中,这很有意义。
那么我是否应该将它们存储在 Web 前端所在的公共 Web 文件夹中?但这样人们岂不是很容易就能访问所有个人资料图片?
如果我不将图像存储在公共网络目录中,那么我应该将它们存储在哪里以及如何保护它们?
我的服务器是 Ubuntu server 12.04,提前致谢
顺便问一下,关于上传后如何处理图片,有什么建议吗?我正在尝试将所有格式转换为 png 并调整其大小
答案1
- 检查每个图像,如果您使用 PHP,您可以调用 getimagesize()
- 您可以在 www 内保存图像,但您可以禁用目录索引,或者,
- 将图片保存在www之外,那么就需要像读取文件一样在内部读取图片。
- 最好还在存储图像的目录中禁用 PHP。
- 我还希望在使用 getimagesize() 加载图像时检查图像,我确信如果您使用图像库,您就可以在注入恶意代码时检测到无效的图像类型。