placer les images sources dans un répertoire "caché"

Répondre
yves
le 02/01/2008 à 11:24
yves
Bonjour,

Dans le cours 22 sur La librairie GD, il est conseillé de "placer les images sources dans un répertoire "caché".

Comment fait-on ? j'ai essayé de placer un .htaccess avec un "deny all" dans le répertoire des photos mais quand je fais echo "<A HREF ='photoAffiche.php?nomfich=".$photoLarge."'> je me vois refuser l'accès.

Comment créer ce répertoire caché mais accessible à mes requêtes PHP.

(précision: le serveur appache est sur mon ordinateur)

Merci pour d'avance pour votre aide.
IciEtLa
zebden
le 02/01/2008 à 11:43
zebden
Lu,

on peut voir le code de photoAffiche.php ?
zebdinou pour les intimes / Blog : http://www.zebden.fr
yves
le 02/01/2008 à 13:05
yves
J'ai juste ecrit cela

<?php
// Affiche photo située dans répertoire caché
$nomfichphoto = $_GET['nomfich'];
echo "<img src='./cache/photo/".$nomfichphoto."'>";
?>


J'ai mis un .htaccess avec "Deny from all" dans le répertoire /cache

Il y a aussi la version :

<?php
// Affiche photo située dans répertoire caché
$nomfichphoto = $_GET['nomfich'];
echo "<img src='../offline/photo/".$nomfichphoto."'>";
?>


Dans les deux cas la photo ne s'affiche pas... ce que je peux comprendre vu qu'à priori les répertoires ne sont pas accessibles. Je voudrais trouver une méthode ou je peux adresser le contenu du répertoire à partir d'un script PHP mais pas par exemple en tapant le chemin du répertoire dans la barre d'adresse, un répertoire caché quoi... il y a certainement une solution banale mais je débute...
IciEtLa
diablo
le 02/01/2008 à 14:11
diablo
Dans photoAffiche.php, il faut que tu affiches l'image en utilisant la librairie GD, sinon le système n'a plus aucune utilité :)

cf cours 22
.:[ UTB ]:. Diablo xo0 Au royaume des aveugles, les bornes sont rois...
yves
le 02/01/2008 à 14:50
yves
Oui c'est ce que je développe. Le problème c'est que mon répertoire sera de toute façon accessible à tous.

Moi je me réfère au cours 22 exemple 8. J'imagine qu'on n'a pas marqué qu'on peut "placer les images sources dans un répertoire caché" si cette action n'est pas possible.

Je suis un grand débutant (j'ai commencé la semaine dernière) donc j'ai besoin d'une explication "pour les nul" si possible.

Merci d'avance
IciEtLa
i M@N
le 02/01/2008 à 23:04
i M@N
Hello bounanée toussa ...

"caché" ça peut vouloir dire que tu as mis certains droits sur le dossier en question pour que seul PHP puisse y accéder soit que tu le renomes avec un . devant ( .dossier ) ça aura pour effet de ne pas l'afficher quand PHP fait le listing du répertoire ( /index Of).

Mais toute façon si seul ton script accède à ce dossier et que tu lui dit de ne pas afficher les erreurs ( avec un @ devant les fonctions par exemple ou un php.ini configuré pour ça) c'est bon personne saura le voir.

@+...
One Love, One Heart, One Unity.
yves
le 03/01/2008 à 10:14
yves
Oui, c'est peut-être une solution. Pour le "point" devant le dossier je crois que je ne peux pas sous windows.

mais par contre comment est-il possible de donner certains droits sur des dossiers pour que seul PHP y ait accés ?
IciEtLa
i M@N
le 03/01/2008 à 12:16
i M@N
Hello.

Le plus simple avec ton window$ c'est d'utiliser un .htaccess ...

Tu ouvre le bloc-note (notepad.exe) tu mets ça dans un nouveau fichier :
order deny,allow
deny from all

tu sauves en ".htaccess" (avec les guillements ça va forcer window$ à le nommer avec le . devant).

Tu places ton .htaccess dans le dossier qui ne doît être lu que par PHP et normalement tu ne peux plus aller à http://127.0.0.1/ton/dossier/ seul PHP le peut (un script sur le server accède au dossier, pas un visiteur directement).

Plein de docs sur les fichiers .htaccess : http://www.google.fr/search?hl=fr&q=.htaccess

@+...
One Love, One Heart, One Unity.
yves
le 04/01/2008 à 12:12
yves
Bonjour,

Cet ordre ne fonctionne pas non plus car dans ce cas le serveur affiche carrément :

Forbidden
You don't have permission to access / on this server.


Non, en fait j'ai fini par trouver la solution :

Dans le répertoire racine il faut effectivement mettre un fichier .htaccess mais avec le contenu suivant :

Options -Indexes


Cela indique au serveur que "Si une URL requise pointe sur un répertoire, alors le serveur ne retournera pas la liste formatée du contenu du répertoire.

Je peux donc aller rechercher mes photos dans ce répertoire avec un script mais personne ne peut afficher la liste de ce répertoire.

RESOLU !!!

Merci pour votre aide et en particulier au petit bonhomme rasta qui m'a donné une bonne piste. :-)
IciEtLa
Répondre

Ecrire un message

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