在数据库中存储上传的照片信息的指南

时间:2011-09-15 23:31:45

标签: php mysql photo uploading

我们正在为客户制作一个社交网站(课程的最终项目),他想要一个照片上传功能。

我们考虑将MySQL数据库中的链接放到具有该图片唯一ID的图片中,并且还考虑用户ID的外键。

但我想知道什么是最安全的方法。

  1. 我们应该保留图片名称还是重命名?
  2. 我们是应该将所有图片保存在同一文件夹中,还是为每个唯一身份用户ID分别设置一个文件夹?
  3. 如果我们重命名图片,我们应该从图片的唯一ID开始吗? (1至XXXX)
  4. 安全:使用恶意文件名进行任何类型的攻击 最快:有1个文件夹然后是XXXXX文件夹

2 个答案:

答案 0 :(得分:2)

对于上传的图像,我会将图像重命名为userid-imageid,因此图像将被命名为123-5554.jpg,例如,这将按用户ID对它们进行分组,同时将它们保存在同一文件夹中(使用排序),并提供每个图像的唯一名称。

如果你不重命名图像,有人可以轻松上传一张名为picture.jpg的图像。

答案 1 :(得分:0)

我会将每个图片文件名更改为唯一的。每张图片在表格中也应该有唯一的ID。然后,您可以在图片的唯一ID上设置外键到用户的ID。

你的第二个问题是你自己的偏好,取决于你想要的结构类型。我会为每个用户创建一个单独的文件夹,如果有大量数据,它会更直观,更容易导航。