Images base de données

Répondre
jackbocar
le 15/07/2009 à 19:23
jackbocar
Bonjour

Je lis par ci par là, il ne faut pas mettre des chemins image dans la base de données exemple :

<img src="mon_image.jpg" width="300" height="200" alt="mon site" title="mon image" />

Alors, comment réaliser une librairie avec image du livre et description.
J'ai bien pensé à créer :
un champ nom_image,
un champ width,
un champ height,
un champ alt,
un champ titre.

Mais, ce n'est pas très viable comme système.

Comment faites-vous avec les images lorsque vous en avez au moins 250 ?

Merci de vos réponses.


Jack
LA GLOBULE
le 15/07/2009 à 19:41
LA GLOBULE
Dans l'idée que tu proposes, je ne vois pas bien la différence avec le fait de stocker le chemin (ou le nom, ce qui revient au même) de l'image en base à part le fait de la rendre plus complexe.

En effet, ta solution ajoute une complexité supplémentaire par rapport au fait de stocker directement le code html dans l'article : quand tu affiches l'article, comment savoir à quel endroit doit se positionner l'image ?
Pour le savoir, tu vas devoir utiliser un système de BB-CODE (ou de cid comme pour les documents inclus dans le body d'un email), et donc tu vas devoir faire un traitement supplémentaire pour les afficher.

En fait, la vraie question des images en rapport avec mysql serait plutot : doit on stocker le nom d'une image (ou son chemin) en base (l'image se trouvant sur le filesystem) ou bien doit on stocker l'image dans une table avec un champ de type BLOB ?

La dessus, chacun son avis. Tout dépend de l'usage que l'on fait de ces images et comment elles "arrivent" dans le systeme (UGC, partie admin, etc).
jackbocar
le 17/07/2009 à 19:01
jackbocar
Bonjour

Merci de ta réponse.

Mes images, je les envoie depuis la partie administration, mais, il n'y a que moi qui aie ce droit.

Tout ce qui est sur le site, je suis le seul a envoyer des données dans la bases et dans les tables.

La seule chose, c'est lorsque l'on lit avec des liens, attention aux injections SQL.

Mais, il faut que cette personne ait un droit dans la partie admin ou pas ?

Jack Bocar
aztazt
le 28/07/2009 à 00:44
aztazt
Je pense qu'il parle d'injections
SQL par URL.

Je dirais que tout dépend de la manière donc sont protégées tes pages d'admin qui modifient la base.

Authentification Apache via .htaccess ou par PHP avec un système de session ?

Tant que ton système d'authentification est sûr, les injections SQL ne seront pas possibles.
aztazt
le 28/07/2009 à 00:55
aztazt
Ha oui, par contre, n'oublie pas d'utiliser PDO, mysqli ou bien la fonction mysql_real_escape pour te protéger contre les tentatives d'injection

Essaye ce mot de passe sur ton site tel qu'il apparait sur la ligne ci dessous, avec l'apostrophe et tout, c'est l'injection la plus connue :

' or 1=1--

Au pire, installe l'addon de Firefox SQL Inject Me et teste ton formulaire...
jackbocar
le 30/07/2009 à 18:04
jackbocar
Bonjour,

J'ai essayé ton mot de passe : ' or 1=1--

Mon authentification répond : Password uniquement en Alpha numérique

Oui tu as raison, c'est les injections SQL qui me font peur. J'ai souvent lu, les liens dans les BD qu'ils soient image ou simple liens sont des portent ouvertes aux injections SQL.

Mais, je ne vois pas comment faire autrement lorsque que tu fais une librairie.

Et puis, comme je l'ai dis plus haut, j'ai un .HTACCESS et ensuite une SESSION avec mot de passe et login et je suis le seul à utiliser l'espace administration.

Jack Bocar
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours