par
AB » 21 nov. 2008, 15:21
Tu peux envisager la protection via .htacces en mettant "deny from all" à la racine du répertoire que tu veux protéger.
Ainsi les fichiers ne seront accessibles que via php, et non pas en rentrant une adresse http.
Ensuite tu peux créer le chemin du répertoire visible pour chaque utilisateur en faisant :
$rep = '/PDFs/'.$_SESSION['login'];
//en supposant que tu aies affecté le login de l'utilisateur dans la variable de session $_SESSION['login'] lors de l'autentification.
Ensuite il te suffit de lister ce répertoire via php pour afficher les fichiers et utiliser un download en php pour que les utilisateurs puissent les télécharger, ou tu peux simplement les faire afficher avec des entêtes php
header('Content-type: application/pdf');
readfile("$monfichier.pdf");
Le problème de la solution de yaug c'est qu'elle peut fonctionner dans un script mais qu'elle ne protégerait pas l'accès direct aux fichiers en rentrant simplement leur adresse dans la barre d'adresse du navigateur.
Tu peux envisager la protection via .htacces en mettant "deny from all" à la racine du répertoire que tu veux protéger.
Ainsi les fichiers ne seront accessibles que via php, et non pas en rentrant une adresse http.
Ensuite tu peux créer le chemin du répertoire visible pour chaque utilisateur en faisant :
[php]
$rep = '/PDFs/'.$_SESSION['login'];
//en supposant que tu aies affecté le login de l'utilisateur dans la variable de session $_SESSION['login'] lors de l'autentification.[/php]
Ensuite il te suffit de lister ce répertoire via php pour afficher les fichiers et utiliser un download en php pour que les utilisateurs puissent les télécharger, ou tu peux simplement les faire afficher avec des entêtes php
[php]header('Content-type: application/pdf');
readfile("$monfichier.pdf");[/php]
Le problème de la solution de yaug c'est qu'elle peut fonctionner dans un script mais qu'elle ne protégerait pas l'accès direct aux fichiers en rentrant simplement leur adresse dans la barre d'adresse du navigateur.