Protection repertoire images

Répondre
Amery
le 31/12/2009 à 17:38
Amery
Bonjour,

j'ai un site avec une zone protégée par mot de passe (comme dans le tuto "Les comment faire"). Dans cette zone protégée, j'affiche des photos qui sont contenues dans un autre répertoire /images/.

Mon problème : comment protéger ce répertoire /images/ pour éviter que quelqu'un accède directement à ces images? Si quelqu'un connaît le nom de l'image, il pourra y accéder en pointant directement vers l'image , ./images/monimage.jpg par exemple. Si je protège le répertoire par .htaccess, je ne peux plus afficher ces images en les appelant par <img ... /> sur mes autres pages.

J'ai pensé à enregistrer toutes les images dans la base de données MySql, mais c'est un peu lourd en traitement...

Est-ce possible de protéger un répertoire par .htaccess mais en passant par un formulaire php et par la fenêtre ouverte par le navigateur?

J'espère avoir été assez clair...smiley
Amy
LupusMic
le 31/12/2009 à 22:20
LupusMic
Quel est le but de la manœuvre ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LA GLOBULE
le 02/01/2010 à 01:12
LA GLOBULE
Tu n'as pas 50 solutions.

Si tu veux vérifier que l'image ne s'affiche que pour un visiteur logué du site, il faut que ce soit un .php qui récupèrera et affichera l'image.

Ensuite, l'image peut etre stockée en base ou bien sur le filesystem (en dehors du document root apache, afin que l'image ne puisse pas s'afficher en tapant son url).
Amery
le 02/01/2010 à 12:15
Amery
ok, je vais regarder comment afficher ces images en passant par un script.php.

Le but de la manoeuvre est juste de faire un site avec des photos de mariage sans qu'elles soient récupérées par aucun moteur de recherche ou autre spyder...
Amery
le 12/01/2010 à 10:42
Amery
J'ai essayé en enregistrant les images dans la base. Niveau script php tout est ok, mais j'ai des problèmes d'affichage avec certaines images : image qui s'affiche à moitié (l'autre moitié reste blanche...).

Je vais donc essayer en enregistrant les images en-dehors du document root apacha, mais là j'ai une question. Comment indiquer dans file_put_contents le chemin du répertoire sur le serveur en dehors du document root apache en sachant que j'ai un répertoire /album/ au même niveau que mon répertoire /internet/ qui contient mon site? Si je mets un chemin du genre : /racine/album/, il pointe vers /internet/racine/album/ qui forcément n'existe pas...
moogli
le 12/01/2010 à 11:42
moogli
salut,

je ne pense pas que tu puisse, car cela inclus une faille de sécurité (sur un serveur partagé tu récupère les fichiers du site voisin ?

tu peut mettre tes images dans le doc root apache.

Pour ce qui est des images qui ne s'affiche pas completement, cela peut être du à des images trops lourd et le script met plus de 30s à les récupérer (mais j'en suis pas trop sur la il faut de très grosse image) ou trop grosse pour mysql (mais meme remarque).
un problème de header ?

Pour ce qui est de ne pas récupérer les images, elles sont forcément dans le cache du navigateur quand tu affiche la page donc récupérable.

@+
Il en faut peu pour être heureux !!!!!
LupusMic
le 16/01/2010 à 18:58
LupusMic
Il se peut aussi que le champ de type Blob ne soit pas de taille suffisante pour accueillir l'image. Bon, ça m'étonnerais en même temps.

Le temps pris pendant les opérations réseaux ne sont pas décomptées du temps d'exécution de PHP.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

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