Version complète: sur le forum Webmaster Hub : bloquer accès
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net
liou13
Bonjour,
je suis un peu bloqué pour le développement d'un site.
Dans ce site une fois logué on peut accéder à des fichier word pour les télécharger en cliquant sur un lien.

Par contre si on copie/colle l'adresse des fichier on peut toujours les télécherger même sans se logué.

Du coup je voudrais savoir comment faire pour que l'on ne puisse télécharger ces fichier que si on est logué.

Merci du coup de main.
blman
En fait, une fois l'utilisateur logué, tu lui génère forcément une session (soit via php, soit via cookie, soit en base de données, ...) peu importe.

Donc tu peux codé une page de téléchargement ex: download.php
Par exemple, pour télécharger pouic.doc, tu peux passer download.php?item=pouic.doc

donc :
1- sur cette page, tu vérifie que l'utilisateur est logué grâce à la session
2- tu vérifie que le doc envoyé par le paramètre existe bien
3- si tout est ok, tu lui balance le doc via les headers :

CODE
<?
header("Content-Type: application/force-download; name=\"$item\"");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=\"$item\"");
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
readfile("chemin/".$item);
exit();
?>
Dan
Il faudrait aussi, en supplément à ce que te dit blman, que les documents ne soient pas dans l'arborescence web... donc que le répertoire les contenant ne soit pas accessible par le web.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.