Bloquer un dossier en ligne mais autoriser PHP...

  • Créateur du sujet Créateur du sujet kernel32.dll
  • Date de début Date de début
A

Anonyme

Invité
Bonjour tout le monde,

J'ai une petite photothèque en ligne, dont l'accès est contrôlé par des sessions PHP/MySQL. Jusque là, tout va bien, tout est sous contrôle...
Seulement le dossier contenant les images est lui aussi en ligne et, si l'on connait son chemin, tout le monde peut y accéder sans passer par le site !
Je vais donc à bloquer l'accès à ce dossier par un .htaccess, "deny from all".
Le problème, c'est que ce .htaccess empêche aussi le téléchargement et l'accès par les membres du site, bien que contrôlé par php. La visualisation et le téléchargement de ces fichiers se font par l'envoi de 'headers' au navigateur.

Quelles solutions ? J'ai pensé à créer une sorte de "Proxy", où PHP copie le fichier dans le dossier de la session utilisateur avant de l'afficher ou le télécharger.
Mais comment réagi php face à une copie de fichier ? Peut-il malencontreusement lancer le téléchargement avant que la copie ne soit terminée ?
Des idées ?
Merci d'avance.
 
Pour ce qui est du dossier images, tu veux dire que tu as un listing du répertoire? Le truc c'est de mettre une page index.htm vide ou un .htaccess avec :

Bloc de code:
Options -Indexes
 
J'ai mis un index.html vide dans chaque dossier. Le .htaccess bloque aussi la lecture lorsqu'on vient de l'interface de l'espace, donc ce n'est pas la solution.
Le problème est en partie réglé, puisqu'on n'a plus accès au contenu des dossiers directement. Par contre il suffit de connaitre le chemin d'accès absolu à une image pour y accéder. Mais bon, ce chemin n'apparait jamais dans l'interface non plus... et puis je n'y met rien de compromettant !


Merci.