Je vois comme ça quelques solutions pour afficher l'image malgré qu'on ne soit pas l'utilisateur :
1. Récupérer le mot de passe de l'utilisateur (bon ok tu t'attendais pas à cette réponse)
2. une faille include qui permettrait d'inclure un peu n'importe quoi (donc faire un system("ls" ) et de déplacer les images dans un dossier accessible)
3. si ton hash est connu (j'ai du mal à comprendre ce que tu veux dire par "Créer un hash MD5/sha1 en random" puisqu'un hash est parfaitement déterministe) ou connaissable (recalculable), et si les noms des fichiers sont relativement triviaux (genre image0001.jpg), alors il est possible d'y accéder. D'ailleurs, si un jour tu affiches 1 image quelque part à un autre utilisateur, alors il connaitra ton hash ...
Ce que je te conseillerais :
- renommer aléatoirement les fichiers (et garder les traces des nouveaux noms dans la bdd) : si le hash est connu (genre une image est affichée quelque part) il n'est pas aisé de retrouver le nom des fichiers.
- ce que je ferai (il doit y avoir plus propre, vois si tu trouves quelque chose dans ce sens là) : quand ton utilisateur se connecte, tu prends son ip et tu la mets dans le .htaccess du dossier images (et tu la supprimes quand il se déconnecte ou reste pas présent pdt trop longtmeps)
Ainsi tu rajoutes dans ton .htaccess :
Order Deny, Allow
Deny From All
Allow From ip_du_visiteur_connecte
(vérifie la syntaxe)
Ainsi, même si on a ton hash et le nom de l'image, alors il ne sera pas possible de voir l'image si tu n'es pas connecté avec cette IP
Après pas persuadé que ce soit très "propre" de modifier un .htaccess à la volée, voyons ce que vont dire les autres !
A+
Message édité par nisalon_caje le 09-01-2012 à 17:02:09