proteger contenu d'un dossier.

proteger contenu d'un dossier. - PHP - Programmation

Marsh Posté le 08-02-2008 à 12:01:55    


Bonjour,
 
je vous rassure que j'ai bien cherche sur le net une solution mais j'ai pas trouve ce que je veux.
 
j'ai un dossier qui contient des pdf, accessible uniquement depuis l'espace membre qui requiere une identification par email et mot de passe.
le .htaccess n'est pas trop ma solution.
 
lorsqu'un internaute s'identifie, je stock ds une variable de session $_SESSION[loged_in] = 1; ds chaque page de l'espace membre je verifie cette variable, si elle est dif de 1, je renvoie alors a la page d'identification.
 
Comment faire de meme pour un dossier qui contient des pdf?
 
Merci de votre aide
Reda

Reply

Marsh Posté le 08-02-2008 à 12:01:55   

Reply

Marsh Posté le 08-02-2008 à 12:06:59    

Faut faire passer les pdfs par un script qui vérifira. Genre un script "pdf.php" dans ton dossier pdf qui prend en paramètre le fichier pdf à télécharger :

Code :
  1. if(isset($_GET['file'])) {
  2.  $file = dirname(__FILE__) . DIRECTORY_SEPARATOR . basename($_GET['file']);
  3.  if($_SESSION['logged_in'] && is_file($file)) {
  4.    header('Content-Size: ' . filesize($file));
  5.    header('Content-disposition: attachment; filename="' . basename($file) . '"';
  6.    readfile($file);
  7.    exit();
  8.  }
  9. }
 

A appeller via

Code :
  1. http://pouet/pdf/pdf.php?file=truc.pdf


Et interdit les pdf dans le fichier htaccess pour interdire le direct downlaod

 

Mets aussi quelques vérifs en plus, genre extension du fichier demandé, caractères ascii louches, etc.


Message édité par FlorentG le 08-02-2008 à 12:08:25
Reply

Marsh Posté le 08-02-2008 à 16:05:33    

Salut Florent et merci pour ta reponse.
 
le fait de mettre un .htaccess, il va pas etre appele meme si on ouvre le pdf via un fichier PHP?
 
c'est quoi DIRECTORY_SEPARATOR ?
 
Merci encore une fois

Reply

Marsh Posté le 08-02-2008 à 16:12:50    

Voilà, faut juste autoriser le script et ça roule (vu que ce sera PHP qui balancera le fichier).
 
Pour DIRECTORY_SEPARATOR, c'est le séparateur de dossier ('/' sous nux, '\' sous win, je met toujours ça par soucis de pureté et de perfection [:kbchris] )

Reply

Marsh Posté le 11-02-2008 à 16:32:24    

et comment autoriser le script ds le .htaccess??? desole, je connais pas trop apache!!

Reply

Marsh Posté le 12-02-2008 à 16:20:10    

ça m'intéresse également ... Je vais voir ce que je trouve.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 07-04-2008 à 16:09:11    

Salut,
Je cherche a peu pres la meme chose sauf que pour moi il s'agit de proteger la lecture de fichiers *.flv En plus, ils sont tous dans un meme dossier avec des noms genre 1.flv 2.flv...  
Toute suggestion est la bienvenue !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed