2011-09-15 1 views
2

Nous créons un site social pour un client (projet final pour les cours) et il souhaite une fonctionnalité de téléchargement de photos.Instructions pour le stockage des informations de photo téléchargées dans la base de données

Nous avons pensé mettre un lien dans une base de données MySQL à l'image avec un identifiant unique pour l'image et aussi une clé étrangère à l'ID utilisateur. Mais je me demandais quelle serait la méthode la plus sûre.

  1. Faut-il conserver le nom de l'image ou le renommer?
  2. Devons-nous conserver toutes les images dans le même dossier, ou avoir un dossier distinct pour chaque ID utilisateur unique?
  3. Si nous renommons l'image, devrions-nous simplement commencer par l'identifiant unique de l'image? (1 à XXXX)

Safe: tout type de explointing avec un nom de fichier malveillant le plus rapide: pour avoir 1 dossiers puis dossier XXXXX

+1

Je créer des répertoires utilisateur et laisser les noms d'image intacts. De cette façon, les photos auront des noms significatifs lorsqu'ils seront téléchargés ou visualisés directement. – feeela

+1

Vous devriez expliquer ce que vous entendez par sûr. – Mikk

+0

Je l'ai édité,! . – Insecurefarm

Répondre

2

Pour les images mises en ligne Je renommer l'image pour l'ID utilisateur-ImageID si un l'image serait nommée 123-5554.jpg par exemple, cela les regrouperait par userid tout en les gardant dans le même dossier (en utilisant le tri), et fournirait un nom unique pour chaque image.

Si vous ne renommez pas l'image, quelqu'un pourrait facilement télécharger une image appelée picture.jpg plus d'une fois.

+0

Ou au moins AJOUTER l'imageid à la fin du nom de l'image afin qu'il conserve son nom significatif (s'il en a un) comme @feeela suggère – thegaffney

+0

Cela semble être le meilleur awnser atm – Insecurefarm

+0

@Vincent Matte aussi si vous voulez un nom descriptif pour l'image, vous pouvez simplement ajouter un champ de description d'image avec le champ de téléchargement d'image sur votre formulaire, et de grossier un champ de description d'image dans la table d'image dans votre base de données. Puis vous pourriez avoir 100 personnes appellent une image "Ma maison" mais chaque image aurait toujours un nom de fichier unique. – thegaffney

0

Je voudrais changer chaque nom de fichier d'images à quelque chose d'unique. Chaque image doit également avoir un identifiant unique dans le tableau. Ensuite, vous pouvez définir une clé étrangère sur l'identifiant unique de l'image à l'identifiant de l'utilisateur.

Votre deuxième question est une sorte de votre propre préférence, dépend du type de structure que vous souhaitez avoir. Je créerais un dossier séparé pour chaque utilisateur, c'est plus intuitif et un peu plus facile de naviguer s'il y a beaucoup de données.

+0

que se passe-t-il si le même utilisateur télécharge picture.jpg à partir de mes documents et picture.jpg à partir de mes photos, et que ce sont des images différentes? Il remplacerait l'ancienne image, ou vous auriez à tester si l'image existe déjà dans le dossier des serveurs et dire à l'utilisateur qu'il ne peut pas le faire et les forcer à renommer les images sur leur ordinateur personnel. – thegaffney

+0

Je trouve vraiment anoying quand un site me demande de le renommer localy – Insecurefarm

Questions connexes