sparh Posté 23 Septembre 2013 Partager Posté 23 Septembre 2013 Bonjour, sur mon site j'upload pas mal de documents. Les documents sont placés dans un dossier par exemple : images/documents/fichier.pdf J'aurai aimé que les documents ne soient lisible/téléchargeables que pour les utilisateurs connectés (via une session PHP) au site. Le plus simple aurai été de bloquer l'accès à tel dossier si la session PHP n'existe pas mais ce n'est pas possible. La seule solution que j'ai trouvé pour l'instant c'est : dans le fichier htaccess : rediriger le dossier concerné (celui qui contient les documents à protéger) vers une page php qui vérifiera que la personne est connecté, si oui la page affiche le document : - htaccess --> RewriteRule images/(.*) check_connect.php?url=$1 [QSA,L,R=301] - check_connect.php --> verif_connexion(); $url = $_GET['url'] ; $adresse_fichier = 'images/'.$url ; $mime = mime_content_type($adresse_fichier) ; $fp = fopen($adresse_fichier, 'rb'); header("Content-Type: ".$mime); header("Content-Length: " . filesize($adresse_fichier)); fpassthru($fp); exit; Que pensez vous de cette solution ? Avez des idées d'amélioration ou carrément d'autres idées pour protéger mes documents ? Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
BlackPage Posté 23 Septembre 2013 Partager Posté 23 Septembre 2013 Salut ! Pourquoi tu chmod pas le dossier en question avec un 655 ( de mémoire ) ? Bon courage ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
sparh Posté 24 Septembre 2013 Auteur Partager Posté 24 Septembre 2013 Bonjour, car je souhaite que TOUS ceux qui ont un login valable puissent accéder aux documents et non pas seulement le propriétaire. Lien vers le commentaire Partager sur d’autres sites More sharing options...
yuston Posté 24 Septembre 2013 Partager Posté 24 Septembre 2013 Il faut jouer avec les headers comme le montre l'exemple #1. Donc suffit de poser les conditions de départ (visiteur ou utilisateur?) puis si la condition est vraie alors on envoie le header correspondant. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant